Commit Graph

2595 Commits

Author SHA1 Message Date
Clément Bœsch
e1b35bdde2 lavc/gif: add flag to enable transparency detection between frames.
While this is not always optimal, in practice most of the common cases are.

  ffmpeg -i big_buck_bunny_1080p_h264.mov -ss 45 -vf scale=320:160 -gifflags -transdiff -frames:v 50 -y bbb-notrans.gif
  ffmpeg -i big_buck_bunny_1080p_h264.mov -ss 45 -vf scale=320:160 -gifflags +transdiff -frames:v 50 -y bbb-trans.gif

  -rw-r--r-- 1 ubitux ubitux 1.1M Apr 19 19:00 bbb-notrans.gif
  -rw-r--r-- 1 ubitux ubitux 378K Apr 19 19:00 bbb-trans.gif
2013-04-19 23:59:21 +02:00
Michael Niedermayer
8f116bf71b Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate: cosmetics: More sensible order for entries in video filter file

Conflicts:
	tests/fate/filter-video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-19 23:34:58 +02:00
Michael Niedermayer
e07e8882ae Merge commit 'a77aed142cade3beb0cd43f879d4f47daae23b8a'
* commit 'a77aed142cade3beb0cd43f879d4f47daae23b8a':
  fate: Rename video filters file and add separate video filters target

Conflicts:
	tests/fate/filter-video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-19 23:26:55 +02:00
Michael Niedermayer
6c5989cce9 Merge commit 'b357f1d1d3dd1d6672df6a397a31be425d31b6d1'
* commit 'b357f1d1d3dd1d6672df6a397a31be425d31b6d1':
  fate: Split audio filters into their own separate file

Conflicts:
	tests/Makefile
	tests/fate/filter.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-19 23:13:20 +02:00
Michael Niedermayer
4cb59ad84b Merge commit '3eec1d41b4a947ba497f528e68da14a8befb85b9'
* commit '3eec1d41b4a947ba497f528e68da14a8befb85b9':
  fate: Reuse VREF and AREF variables where appropriate

Conflicts:
	tests/fate/filter.mak
	tests/fate/video.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-19 22:55:21 +02:00
Diego Biurrun
bc7fbd36ea fate: cosmetics: More sensible order for entries in video filter file 2013-04-19 18:07:48 +02:00
Diego Biurrun
a77aed142c fate: Rename video filters file and add separate video filters target 2013-04-19 18:07:48 +02:00
Diego Biurrun
b357f1d1d3 fate: Split audio filters into their own separate file 2013-04-19 18:07:48 +02:00
Diego Biurrun
3eec1d41b4 fate: Reuse VREF and AREF variables where appropriate 2013-04-19 18:07:48 +02:00
Clément Bœsch
a7c5b7a676 lavf/gif: correct the delay after the first frame.
To define accurately the delay between two frames, it is necessary to
have both available. Before this commit, the first frame had a delay of
0; while in practice the problem is not visible in most situation, it is
problematic with low frame rate and large scene change.

This commit notably fixes output generated with commands such as:

  ffmpeg -i big_buck_bunny_1080p_h264.mov
     -vf "select='gt(scene,0.4)',scale=320:-1,setpts=N/TB"
     -frames:v 5 -y out.gif

Also, to avoid odd loop delays, the N-1 delay is duplicated for the last
frame.
2013-04-19 12:02:19 +02:00
Clément Bœsch
7e57adb464 lavf/gif: fix timing.
pkt->duration can not be used since the values are only based on frame
rate.
2013-04-19 02:15:57 +02:00
Clément Bœsch
13478b270a gif: use only one graphic control extension block per image.
The encoder now doesn't produce any extra graphic control extension
block anymore. Only the image is encoded, and the muxer writing
its own GCE containing notably the timing information now includes the
optional palette transmitted through packet side data.

This commit avoid setting clashes between the two GCE, and reduce the
size of the generated file with pal8 output.
2013-04-19 02:10:59 +02:00
Clément Bœsch
3d786591b8 fate/gif: create meaningful gif encoding tests. 2013-04-19 02:05:01 +02:00
Clément Bœsch
32cc7ba8a7 fate: hot fix for gif failure. 2013-04-18 01:41:23 +02:00
Clément Bœsch
635389ccfa Cleanse GIF muxer and encoder.
This commit removes the badly duplicated code between the encoder and
the muxer. That may sound surprising, but the encoder is now responsible
from the encoding of the picture when muxing to a .gif file. It also
does not require anymore a manual user intervention such as a -pix_fmt
rgb24 to work properly. To summarize, output gif are now easier to
generate, code is saner and simpler, and files are smaller (thanks to
the lzw encoding which was unused so far with the default .gif output).
We can certainly make things even better, but this is the first step.

FATE is updated because of the output being produced by the encoder and
not the muxer (no lzw in the muxer), and in the seek test only the size
mismatches.

Fixes Ticket #2262
2013-04-18 00:24:25 +02:00
Clément Bœsch
3db3b278f2 lavfi/lut: add direct path. 2013-04-17 19:18:08 +02:00
Michael Niedermayer
7e20f80d2c fate: fix histogram test, try #2
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 03:52:51 +02:00
Michael Niedermayer
7ed691e2db Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate: Set the bitexact flag for vp3/vp5/vp6 tests

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-16 01:02:14 +02:00
Michael Niedermayer
7a2a421d73 vf_histogram: avoid floats, unbreak fate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-15 21:44:50 +02:00
Paul B Mahol
a4f03f082b FATE: add a test for the histogram filter
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-15 16:40:26 +00:00
Martin Storsjö
6add6272da fate: Set the bitexact flag for vp3/vp5/vp6 tests
This is required since there are bit-inexact implementations
of the vp3 idct (for bfin).

Signed-off-by: Martin Storsjö <martin@martin.st>
2013-04-15 14:19:16 +03:00
Michael Niedermayer
227b4458fb vf_interlace: fix frame rate
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 16:40:35 +02:00
Michael Niedermayer
ebbd4fd5f0 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  FATE: add a test for the interlace filter
  lavfi: new interlace filter

Conflicts:
	Changelog
	configure
	doc/filters.texi
	libavfilter/Makefile
	libavfilter/allfilters.c
	tests/fate/filter.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-12 16:32:33 +02:00
Michael Niedermayer
b3c3996212 avcodec: rename prores encoders
Using the first names of authors sounds somewhat unprofessional
and might be considered offensive which is not intended.
The new names use the initials of the authors due to simplicity
and the possibility to apply it consistently without the need
to find political correct names for each future case where
alternative codecs might exist. Also its shorter ...

If someone has a better idea, like maybe 2 random letters
and people prefer it then iam happy to switch to that ...

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 23:13:34 +02:00
Clément Bœsch
71ef1ec7b4 lavfi/aspect: switch to an AVOptions-based system.
This is heavily based on 2831b307 by Anton Khirnov <anton@khirnov.net>
2013-04-11 22:05:03 +02:00
Vittorio Giovara
25882a7ff6 FATE: add a test for the interlace filter
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-04-11 21:33:58 +02:00
Clément Bœsch
64ce15b9f4 lavfi/aevalsrc: switch to an AVOptions-based system. 2013-04-11 17:28:02 +02:00
Nicolas George
08dd2c9df1 fate: add tests for unknown channel layouts. 2013-04-11 13:09:33 +02:00
Michael Niedermayer
d9d7c54960 Merge commit 'ba8efac977f4276f05274947b2b67d144cbc965a'
* commit 'ba8efac977f4276f05274947b2b67d144cbc965a':
  af_channelmap: switch to an AVOptions-based system.

Conflicts:
	doc/filters.texi
	libavfilter/af_channelmap.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-11 02:10:12 +02:00
Clément Bœsch
8da1fff85a lavfi/pp: switch to an AVOptions-based system.
Also add and use the '|' separator instead of ':' since it's
incompatible with the new option system...
2013-04-10 23:16:03 +02:00
Anton Khirnov
ba8efac977 af_channelmap: switch to an AVOptions-based system. 2013-04-09 19:09:40 +02:00
Nicolas George
0884d04dc3 lavc: fix recoded subtitles end.
Text subtitles packets are not 0-terminated (and if they are,
it is handled by the recoding process since 0 is a valid
Unicode code point). The terminating 0 would overwrite the
last payload octet.

OTOH, packets must be 0-padded.

Fix a problem reported in trac ticket #2431.
2013-04-07 13:25:24 +02:00
Michael Niedermayer
ff50b08304 coverage: filter /usr/include out
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-06 13:47:17 +02:00
Michael Niedermayer
84bfa8beb7 Merge commit 'a862c7d3368241e72a465ab944afa38ea62a6640'
* commit 'a862c7d3368241e72a465ab944afa38ea62a6640':
  Integrate lcov/gcov into Libav

Conflicts:
	Makefile
	common.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-04-06 13:23:38 +02:00
Paul B Mahol
11d7bbb47a fate: add coverage for background disposal in gif decoder
Signed-off-by: Paul B Mahol <onemda@gmail.com>
2013-04-06 11:20:27 +00:00
Reinhard Tartler
a862c7d336 Integrate lcov/gcov into Libav
The gcov/lcov are a common toolchain for visualizing code coverage with
the GNU/Toolchain. The documentation and implementation of this
integration was heavily inspired from the blog entry by Mike Melanson:
http://multimedia.cx/eggs/using-lcov-with-ffmpeg/
2013-04-05 18:55:11 +02:00
Nicolas George
464f94b206 lavc: do not init frame with guessed layout.
It is breaking support from files with unknown layout.
2013-04-03 17:44:10 +02:00
Clément Bœsch
e366aec030 lavfi/edgedetect: add direct path. 2013-04-03 00:30:48 +02:00
Clément Bœsch
eb054a9693 fate/filter: use aperms to test volume filter. 2013-03-31 11:58:20 +02:00
Michael Niedermayer
ee53777e70 fate: Print correct error message for reference generation too
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-30 11:41:58 +01:00
Michael Niedermayer
6c8aa2035d Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate: add an option to generate the references

Conflicts:
	doc/fate.texi
	tests/fate-run.sh

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-30 11:21:15 +01:00
Luca Barbato
b01b60a29d fate: add an option to generate the references
Useful to add or update fate tests.
2013-03-29 15:41:26 +01:00
Clément Bœsch
dd17843b8a fate/filter: make overlay test bitexact. 2013-03-28 17:55:02 +01:00
Clément Bœsch
ef4020ca7d fate/filter: move gradfun filtergraph to a dedicated script. 2013-03-28 17:44:22 +01:00
Clément Bœsch
0adc93ba2b fate/filter: move concat filtergraph to a dedicated script. 2013-03-28 17:44:22 +01:00
Clément Bœsch
b1213c911c fate/filter: move some CMD below deps for consistency. 2013-03-28 17:44:22 +01:00
Clément Bœsch
7f19fc99e0 fate/filter: remove pointless indirections for gradfun and hqdn3d. 2013-03-28 17:44:22 +01:00
Clément Bœsch
4694af1088 fate/filter: rename 'ubitux' rules to 'sample'. 2013-03-28 17:44:18 +01:00
Clément Bœsch
ac00755e0a fate/filter: stick delogo test with its deps (cosmetics). 2013-03-28 17:37:53 +01:00
Michael Niedermayer
e14f8bd07e fate: Disable af_join test, as its output is not deterministic currently
The reason for the failure is unknown, this needs to be debuged and fixed

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 15:29:21 +01:00
Michael Niedermayer
37bdf33cff Merge remote-tracking branch 'qatar/master'
* qatar/master:
  vmdav: convert to bytestream2
  FATE: add a test for the join filter
  FATE: add a test for the volume filter

Conflicts:
	libavcodec/vmdav.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 15:02:49 +01:00
Michael Niedermayer
7a14564b2d Merge commit '43a8333a16c796b3d855fb3aaa742103cb62731f'
* commit '43a8333a16c796b3d855fb3aaa742103cb62731f':
  FATE: add a test for the channelsplit filter
  FATE: add a test for the channelmap filter
  FATE: add a test for the negate filter
  FATE: add a test for the overlay filter

Conflicts:
	tests/fate/filter.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 14:29:01 +01:00
Michael Niedermayer
8823ec4f9e Merge commit 'ea290d919a52f0f8c7e30d69328bb011ed13f61a'
* commit 'ea290d919a52f0f8c7e30d69328bb011ed13f61a':
  FATE: add a test for the setpts filter
  FATE: add a test for the hqdn3d filter
  FATE: add a test for the transpose filter
  FATE: add a test for the unsharp filter

Conflicts:
	tests/ref/fate/filter-hqdn3d

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 14:05:22 +01:00
Michael Niedermayer
6f1a6a9f6b Merge commit '1a6d4bd7b60761bd7d955011ce7df4dd6b87b497'
* commit '1a6d4bd7b60761bd7d955011ce7df4dd6b87b497':
  FATE: add a test for the fade filter
  FATE: add a test for the drawbox filter
  FATE: add a test for the boxblur filter
  FATE: add a test for the gradfun filter

Conflicts:
	tests/fate/filter.mak
	tests/ref/fate/filter-gradfun

our gradfun test is renamed to gradfun-ubitux as its name conflicts and
it was requested to be kept. Feel free to rename, change, finetune ...

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 13:48:05 +01:00
Michael Niedermayer
ac1a1fd708 Merge commit '1ae44c87c924b69a0657256fbaa8ad140df2f27c'
* commit '1ae44c87c924b69a0657256fbaa8ad140df2f27c':
  lavfi/gradfun: remove rounding to match C and SSE code.
  lavfi/gradfun: fix dithering in MMX code.
  lavfi/gradfun: fix rounding in MMX code.
  lavfi/gradfun: do not increment DC pointer for odd values.
  fate: filter: Add dependencies
  avconv: add options for reading filtergraphs from a file.

Conflicts:
	Changelog
	doc/ffmpeg.texi
	doc/filters.texi
	ffmpeg.h
	ffmpeg_opt.c
	libavfilter/vf_gradfun.c
	tests/fate/filter.mak

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-28 13:00:39 +01:00
Anton Khirnov
8a2f5f0c63 FATE: add a test for the join filter 2013-03-28 08:03:43 +01:00
Anton Khirnov
9e9cd98aed FATE: add a test for the volume filter 2013-03-28 08:03:31 +01:00
Anton Khirnov
43a8333a16 FATE: add a test for the channelsplit filter 2013-03-28 08:03:12 +01:00
Anton Khirnov
33942b7bde FATE: add a test for the channelmap filter 2013-03-28 08:02:55 +01:00
Anton Khirnov
f917420378 FATE: add a test for the negate filter 2013-03-28 08:02:47 +01:00
Anton Khirnov
3d8c80b611 FATE: add a test for the overlay filter 2013-03-28 08:01:58 +01:00
Anton Khirnov
ea290d919a FATE: add a test for the setpts filter 2013-03-28 08:01:46 +01:00
Anton Khirnov
71f3ede24e FATE: add a test for the hqdn3d filter 2013-03-28 08:01:41 +01:00
Anton Khirnov
0bdbd85e47 FATE: add a test for the transpose filter 2013-03-28 08:01:34 +01:00
Anton Khirnov
ad85e8d9a5 FATE: add a test for the unsharp filter 2013-03-28 08:01:26 +01:00
Anton Khirnov
1a6d4bd7b6 FATE: add a test for the fade filter 2013-03-28 08:01:13 +01:00
Anton Khirnov
feb4922b25 FATE: add a test for the drawbox filter 2013-03-28 08:01:07 +01:00
Anton Khirnov
a222997650 FATE: add a test for the boxblur filter 2013-03-28 08:00:58 +01:00
Anton Khirnov
7cec12748a FATE: add a test for the gradfun filter 2013-03-28 08:00:24 +01:00
Diego Biurrun
f2a59722d1 fate: filter: Add dependencies
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-28 07:58:44 +01:00
Michael Niedermayer
e370b65897 tests/tiny_ssim: include the 2 macros instead of a header
Should fix compilation on open solaris

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-27 01:38:18 +01:00
Michael Niedermayer
4c587b4f30 tiny_ssim: Avoid "for(int ..."
This should avoid issues with old compilers

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-26 19:26:44 +01:00
Loren Merritt
064146480b tools: add tiny_ssim
Taken from:
http://lists.mplayerhq.hu/pipermail/mencoder-users/2006-August/003801.html
and
x264
See: [FFmpeg-devel] [PATCH] tools: add tiny_ssim

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-26 17:31:41 +01:00
Clément Bœsch
183f3450fd lavfi/curves: support preset shorthand. 2013-03-26 00:04:06 +01:00
Clément Bœsch
dc65d784df lavfi/curves: add presets support.
Except for the vintage preset, the values are defined by Lou Logan based
on the ones found in Adobe Photoshop CS6.

Signed-off-by: Clément Bœsch <ubitux@gmail.com>
Signed-off-by: Lou Logan <lou@lrcd.com>
2013-03-25 23:48:51 +01:00
Nicolas George
57cb4fb075 lavfi: add test for concat. 2013-03-24 23:16:40 +01:00
Michael Niedermayer
7239b36059 fate: dont try to filter partial frames with yadif.
The partial frames leak a few uninitialized pixels through
due to incomplete interlaced error concealment support.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-24 01:30:11 +01:00
Janne Grunau
70db0c9156 fate: use little endian yuv444p10 in h264-reinit tests
Fixes fate big endian configs.

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-23 22:33:11 +01:00
Janne Grunau
535c247b57 fate: use little endian yuv444p10 in h264-reinit tests
Fixes fate big endian configs.
2013-03-23 13:12:36 +01:00
Michael Niedermayer
8b63eeb6b1 Merge remote-tracking branch 'qatar/master'
* qatar/master:
  fate: add test for cropping h264 to container dimensions
  FATE: add a tscc2 test.
  tscc2: allocate AVFrame properly.

Conflicts:
	libavcodec/tscc2.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-23 12:26:08 +01:00
Janne Grunau
3f15b301fa fate: add test for cropping h264 to container dimensions
Tests the workaround added for 1080 videos created with Canon cameras
in 30f515091c.
2013-03-22 21:58:01 +01:00
Anton Khirnov
93eaeb0244 FATE: add a tscc2 test. 2013-03-22 20:10:56 +01:00
Clément Bœsch
77f60f0011 lavu/eval: add between() function. 2013-03-22 09:20:45 +01:00
Michael Niedermayer
6c8ac2d782 Merge commit '1c4073efd24164ac6eaa52c544f5cdb0e5f6aee5'
* commit '1c4073efd24164ac6eaa52c544f5cdb0e5f6aee5':
  fate: add tests for h264 decoder reinit
  h264: fix bit depth changes with frame threading

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-21 11:56:29 +01:00
Janne Grunau
1c4073efd2 fate: add tests for h264 decoder reinit 2013-03-20 16:04:27 +01:00
Clément Bœsch
17e1b3cd14 fate: make metadata fate tests only output ts and metadata.
The other information are just cluttering the output. The command line
is also simplified in the process.
2013-03-20 00:09:44 +01:00
Clément Bœsch
879ca313c0 fate: add missing filter dep in metadata tests. 2013-03-19 17:39:08 +01:00
Clément Bœsch
bf0e44fa67 fate: add curves filter test. 2013-03-19 16:20:22 +01:00
Clément Bœsch
21aa4fafcd fate: add ebur128 metadata test. 2013-03-19 14:37:59 +01:00
Nicolas George
ec7fc7b7d1 fate: add a test for -filter_complex / -lavfi without input. 2013-03-17 16:24:43 +01:00
Stefano Sabatini
be5c5c399b tests/filter-metadata-scenedetect: update reference
Fix reference after f7ab23b0d0.
+10l to me, this time aliens are not involved.
2013-03-17 02:04:45 +01:00
Stefano Sabatini
72a1257b5b tests/eval: fix reference after b2098d2417
+10l to me, I blame the aliens.
2013-03-17 02:04:45 +01:00
Stefano Sabatini
f7ab23b0d0 ffprobe: remove deprecated frame "reference" field 2013-03-17 00:27:48 +01:00
Stefano Sabatini
b2098d2417 lavu/eval: add bitor and bitand functions
Warning note suggested by Reimar.
2013-03-17 00:22:47 +01:00
Clément Bœsch
e1b1092755 fate: test both direct and indirect paths in delogo filter. 2013-03-16 16:22:56 +01:00
Clément Bœsch
9f1667ab64 fate: test both direct and indirect paths in hue filter. 2013-03-16 16:17:44 +01:00
Clément Bœsch
8a0187e43d fate: test both direct and indirect paths in hqdn3d and gradfun. 2013-03-16 16:04:59 +01:00
ArnoB
361319d0f4 dpxenc: fix data offset
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-15 21:09:36 +01:00
Michael Niedermayer
d64b854075 Merge commit '666fe5da47d127074be7f0e2bac93db6af8b4a30'
* commit '666fe5da47d127074be7f0e2bac93db6af8b4a30':
  atomic: Exclude the unsupported implementation headers from checkheaders
  avconv: do not silently ignore unused codec AVOptions.

Conflicts:
	ffmpeg_opt.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 21:34:24 +01:00
Michael Niedermayer
c51fcdf0f6 Merge commit 'db2d65ce1ed13ea9a530b1934963a16c3e8fa460'
* commit 'db2d65ce1ed13ea9a530b1934963a16c3e8fa460':
  avconv: fix a typo
  FATE: replace -vb with -b:v

Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-03-12 21:15:21 +01:00