Anton Khirnov
c334c113d4
vf_scale: switch to an AVOptions-based system.
2013-04-09 19:04:45 +02:00
Anton Khirnov
5aa1a668cf
vf_frei0r: switch to an AVOptions-based system.
2013-04-09 19:04:28 +02:00
Anton Khirnov
f13ab29925
vf_fps: switch to an AVOptions-based system.
2013-04-09 19:04:15 +02:00
Anton Khirnov
a39c154049
vf_fieldorder: switch to an AVOptions-based system.
2013-04-09 19:03:56 +02:00
Anton Khirnov
b9dfee9fa2
vf_fade: switch to an AVOptions-based system.
2013-04-09 19:03:43 +02:00
Anton Khirnov
8ec464c61c
vf_drawtext: switch to an AVOptions-based system.
2013-04-09 19:03:23 +02:00
Anton Khirnov
335c31293b
vf_drawbox: switch to an AVOptions-based system.
2013-04-09 19:03:08 +02:00
Anton Khirnov
63e58c55c1
vf_delogo: switch to an AVOptions-based system.
2013-04-09 19:02:43 +02:00
Anton Khirnov
460e7b4f6d
vf_cropdetect: switch to an AVOptions-based system.
2013-04-09 19:02:32 +02:00
Anton Khirnov
fba0156af7
vf_crop: switch to an AVOptions-based system.
2013-04-09 19:00:54 +02:00
Anton Khirnov
51def31dbe
vf_boxblur: switch to an AVOptions-based system.
2013-04-09 19:00:39 +02:00
Anton Khirnov
62dcdb028c
vf_blackframe: switch to an AVOptions-based system.
2013-04-09 19:00:26 +02:00
Anton Khirnov
2831b307e6
vf_aspect: switch to an AVOptions-based system.
2013-04-09 18:58:30 +02:00
Anton Khirnov
e67a87eac8
vf_(no)format: switch to an AVOptions-based system.
2013-04-09 18:56:39 +02:00
Anton Khirnov
0af7fe1f95
af_aformat: switch to an AVOptions-based system.
2013-04-09 18:55:45 +02:00
Anton Khirnov
d28cb84989
buffersrc: switch to an AVOptions-based system.
2013-04-09 18:48:16 +02:00
Anton Khirnov
4fa1f52e33
af_resample: switch to an AVOptions-based system.
2013-04-09 18:45:50 +02:00
Anton Khirnov
b439c992c2
lavfi: switch to an AVOptions-based system.
2013-04-09 18:45:37 +02:00
Anton Khirnov
6d0546bbaf
avfiltergraph: set deprecated filter_count.
2013-04-04 07:52:32 +02:00
Anton Khirnov
6e3c13a559
avfiltergraph: check for sws opts being non-NULL before using them.
...
Avoid snprintfing a NULL pointer.
CC: libav-stable@libav.org
2013-04-03 09:29:55 +02:00
Clément Bœsch
1ae44c87c9
lavfi/gradfun: remove rounding to match C and SSE code.
...
There is no noticable benefit for such precision.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-28 07:59:29 +01:00
Clément Bœsch
38a2f88d39
lavfi/gradfun: fix dithering in MMX code.
...
Current dithering only uses the first 4 instead of the whole 8 random values.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-28 07:59:18 +01:00
Clément Bœsch
2d66fc543b
lavfi/gradfun: fix rounding in MMX code.
...
Current code divides before increasing precision.
Also reduce upper bound for strength from 255 to 64. This will prevent
an overflow in the SSSE3 and MMX filter_line code: delta is expressed as
an u16 being shifted by 2 to the left. If it overflows, having a
strength not above 64 will make sure that m is set to 0 (making the
m*m*delta >> 14 expression void).
A value above 64 should not make any sense unless gradfun is used as
a blur filter.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-28 07:59:04 +01:00
Clément Bœsch
8b9a153ef3
lavfi/gradfun: do not increment DC pointer for odd values.
...
First DC is only used once otherwise. This also makes the code
consistent with ASM versions.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-28 07:58:55 +01:00
Jindřich Makovička
20a8ee3061
af_asyncts: fix compensation and PTS monotonicity
...
This patch improves af_asyncts behavior on streams with bogus PTS, which
are either non-monotonic, or contain PTS jitter, and trigger the
non-monotonicity error. With this patch, af_asyncts is able to correct
these streams and avoid the error.
Firstly, it fixes resample compensation calculation by supplying proper
units to avresample_set_compensation (sample count per second instead
of sample count per some arbitrary frame size). Also, the calculation of
the compensation itself is fixed - delta is proportional to an adjustment
of the compensation, not the compensation itself. Ideally, the compensation
should converge to a value that keeps delta at zero.
To be able to deal with sources with PTS jitter even without resampling,
small PTS errors are adjusted, so the output frames do not overlap.
Finally, one more monotonicity check is added.
The FATE reference changes because now there is 8 less samples of
silence because of the pts jitter.
Signed-off-by: Jindřich Makovička <makovick@gmail.com>
2013-03-22 20:09:34 +01:00
Anton Khirnov
6599b087de
buffersrc: fix a typo.
...
Vertical shift is log2_chroma_h, not log2_chroma_w.
2013-03-19 11:12:17 +01:00
Anton Khirnov
c977039e58
lavc, lavfi: fix counting number of planes in AVBufferRef wrappers
...
Number of planes is not always equal to the number of components even
for formats marked with PIX_FMT_PLANAR -- e.g. NV12 has three components
in two planes.
2013-03-19 11:12:17 +01:00
Anton Khirnov
6552808014
lavc,lavfi: fix calculating the plane size in the AVBufferRef wrappers
...
It is supposed to be height * linesize, not width * linesize.
Thanks to Hendrik Leppkes for pointing out the bug.
2013-03-17 09:10:04 +01:00
Anton Khirnov
4750b05d67
af_join: do not leak input frames.
2013-03-16 05:37:01 +01:00
Anton Khirnov
c2b9bd97f5
asrc_anullsrc: return EOF, not -1
2013-03-16 05:36:46 +01:00
Anton Khirnov
f4281f4571
asrc_anullsrc: do not set samplerate and channel layout explicitly
...
They are auto-negotiated.
2013-03-16 05:36:35 +01:00
Anton Khirnov
e4a7b2177d
vf_showinfo: remove its useless init function
...
Filter private data is memset to 0 so there is no point in explicitly
initing anything to 0.
2013-03-16 05:36:14 +01:00
Anton Khirnov
dd74e3ef33
avfiltergraph: use sizeof(var) instead of sizeof(type)
2013-03-16 05:34:20 +01:00
Anton Khirnov
42c7c61ab2
avfiltergraph: replace AVFilterGraph.filter_count with nb_filters
...
This is more consistent with the naming in the rest of Libav.
2013-03-16 05:33:23 +01:00
Anton Khirnov
556aab8f11
lavfi: use designated initializers in avfilter_class
2013-03-16 05:33:06 +01:00
Loren Merritt
5b3c1aecb2
hqdn3d: Fix out of array read in LOWPASS
...
CC:libav-stable@libav.org
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2013-03-13 09:14:59 +01:00
Anton Khirnov
d0a863ac89
vf_hqdn3d: fix uninitialized variable use
...
CC:libav-stable@libav.org
2013-03-11 18:28:35 +01:00
Anton Khirnov
887d31d455
vf_gradfun: fix uninitialized variable use
...
CC:libav-stable@libav.org
2013-03-11 18:28:34 +01:00
Xi Wang
5d639b2b4a
vf_pad: fix a & instead of && typo
...
Avoid buffer overflow in buffer_needs_copy()
Signed-off-by: Xi Wang <xi.wang@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-03-10 11:16:10 +01:00
Anton Khirnov
0651e892e1
Replace remaining includes of audioconvert.h with channel_layout.h
2013-03-08 07:42:13 +01:00
Anton Khirnov
d8b31be6ca
Add the bumps and APIchanges entries for reference counted buffers changes.
2013-03-08 07:41:49 +01:00
Anton Khirnov
7e350379f8
lavfi: switch to AVFrame.
...
Deprecate AVFilterBuffer/AVFilterBufferRef and everything related to it
and use AVFrame instead.
2013-03-08 07:37:18 +01:00
Reimar Döffinger
efa7f42020
Use the avstring.h locale-independent character type functions
...
Make sure the behavior does not change with the locale.
Signed-off-by: Martin Storsjö <martin@martin.st>
2013-03-07 15:16:36 +02:00
Justin Ruggles
9f1223562e
lavfi: connect libavresample options to af_resample via AVFilterGraph
2013-02-23 17:07:54 -05:00
Anton Khirnov
64ed397635
vf_yadif: fix out-of line reads
...
Some changes in the border pixels, visually indistinguishable.
2013-02-15 16:08:33 +01:00
Anton Khirnov
ccd70d9c16
vf_yadif: factorize initializing the filtering callbacks
...
Do it all in config_props().
2013-02-15 16:08:00 +01:00
Anton Khirnov
99162f8d46
vf_yadif: silence a warning.
...
clang says:
libavfilter/vf_yadif.c:192:28: warning: incompatible pointer types assigning to
'void (*)(uint8_t *, uint8_t *, uint8_t *, uint8_t *, int, int, int, int, int)'
from 'void (uint16_t *, uint16_t *, uint16_t *, uint16_t *, int, int, int, int, int)'
2013-02-06 10:21:51 +01:00
Diego Biurrun
e66240f22e
avfilter: x86: consistent filenames for filter optimizations
2013-02-04 15:00:47 +01:00
Diego Biurrun
76d90125cd
vf_hqdn3d: x86: Add proper arch optimization initialization
2013-02-01 13:11:45 +01:00
Anton Khirnov
7194330bcd
vf_delogo: fix copying the input frame.
...
CC:libav-stable@libav.org
2013-01-29 07:33:02 +01:00
Anton Khirnov
f81c37e40f
vf_delogo: fix an uninitialized read.
...
CC:libav-stable@libav.org
2013-01-29 07:32:54 +01:00
Vladimir Pantelic
0b55b16abc
avfilter: allow setpts filter to use wallclock time for calculations
...
Signed-off-by: Vladimir Pantelic <vladoman@gmail.com>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-25 10:50:09 +01:00
Justin Ruggles
23098bbd50
vf_fps: add final flushed frames to the dropped frame count
2013-01-15 11:26:46 -05:00
Daniel Kang
67360ccd51
yadif: x86: fix build for compilers without aligned stack
...
Manually load registers to avoid using 8 registers on x86_32 with
compilers that do not align the stack (e.g. MSVC).
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2013-01-14 09:51:52 +01:00
Daniel Kang
899157b308
yadif: Port inline assembly to yasm
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2013-01-09 18:41:02 +01:00
Diego Biurrun
bcb8d9eb8f
Drop unnecessary 'l' length modifier when printfing double values.
...
%f denotes a double argument and 'l' does nothing in this case
according to the C spec.
2012-12-31 11:20:45 +01:00
Diego Biurrun
c73c87b412
cosmetics: Prettyprint codec/format/filter registration files
2012-12-28 19:18:13 +01:00
Diego Biurrun
69583bd3b1
avfilter: Refactor unconditional filter registration
2012-12-28 19:18:13 +01:00
Diego Biurrun
5af53731d9
avfilter: Compile FIFO filters unconditionally
...
Building libavfilter without that functionality makes little sense.
2012-12-23 18:57:01 +01:00
Diego Biurrun
69f086e0f9
build: avfilter: Remove duplicate compilation entry for vf_scale
...
vf_scale should not be unconditionally compiled even if disabled.
2012-12-21 00:18:34 +01:00
Justin Ruggles
4e5a8878d5
asyncts: ignore min_delta only if first_pts is set
2012-12-13 18:51:56 -05:00
Justin Ruggles
c0dc57f126
asyncts: merge two conditions
2012-12-13 18:51:56 -05:00
Justin Ruggles
0ee440fe38
asyncts: cosmetics: reindent
2012-12-13 13:02:21 -05:00
Justin Ruggles
c143de40c3
asyncts: fix the asyncts behavior when using the first_pts option
...
Currently it will do padding, but it does not properly handle
start-of-stream trimming as documented.
2012-12-13 13:02:21 -05:00
Justin Ruggles
8083332c2d
asyncts: use clipped delta value when setting resample compensation
...
The max_comp option is supposed to limit maximum compensation, but
currently the clipped value is not actually used.
2012-12-13 13:02:21 -05:00
Justin Ruggles
f266486b2e
asyncts: fix flushing of final samples at EOF
2012-12-13 13:02:21 -05:00
Justin Ruggles
b30a363331
x86: af_volume: add SSE2/SSSE3/AVX-optimized s32 volume scaling
2012-12-05 11:23:37 -05:00
Justin Ruggles
f96f1e06a4
x86: af_volume: add SSE2-optimized s16 volume scaling
2012-12-05 11:23:37 -05:00
Justin Ruggles
b384e031da
lavfi: add volume filter
...
Based on the volume filter in FFmpeg written by Stefano Sabatini
<stefasab@gmail.com>.
2012-12-05 11:23:37 -05:00
Anton Khirnov
cb45553f57
Remove pointless #undefs of previously forbidden functions.
2012-12-04 21:40:22 +01:00
Anton Khirnov
4c973de9a5
vf_fieldorder: require write permissions
...
This filter modifies the input frame.
2012-11-28 08:50:24 +01:00
Anton Khirnov
49dd71a6f1
vf_fieldorder: reindent
2012-11-28 08:50:24 +01:00
Anton Khirnov
565e4993c6
lavfi: merge start_frame/draw_slice/end_frame
...
Any alleged performance benefits gained from the split are purely
mythological and do not justify added code complexity.
2012-11-28 08:50:19 +01:00
Anton Khirnov
bb6c67bb36
lavfi: remove vf_slicify
...
The following commit will make it useless.
The crop_scale_vflip FATE test changes because of off-by-one differences
in output when vflipped slices are passed to sws.
2012-11-28 08:44:01 +01:00
Anton Khirnov
af7d13ee4a
asink_nullsink: plug a memory leak.
2012-11-28 08:43:54 +01:00
Justin Ruggles
a903f8f087
Include libavutil/channel_layout.h instead of libavutil/audioconvert.h
...
Also reorder some other #include when applicable.
2012-11-11 13:35:12 -05:00
Anton Khirnov
b68aac7ea3
vf_drawtext: do not use deprecated av_tree_node_size
2012-11-02 18:28:55 +01:00
Diego Biurrun
d8eda37080
x86: mmx2 ---> mmxext in function names
2012-10-31 17:53:57 +01:00
Diego Biurrun
04581c8c77
x86: yasm: Use complete source path for macro helper %includes
...
This is more consistent with the way we handle C #includes and
it simplifies the build system.
2012-10-31 00:37:42 +01:00
Diego Biurrun
6860b4081d
x86: include x86inc.asm in x86util.asm
...
This is necessary to allow refactoring some x86util macros with cpuflags.
2012-10-31 00:37:42 +01:00
Anton Khirnov
20dd41af85
lavfi: add ashowinfo filter
...
It can be useful for debugging.
Based on a patch by Stefano Sabatini <stefano.sabatini-lala@poste.it>
2012-10-29 21:29:58 +01:00
Mans Rullgard
67a68dcec2
af_channelmap: remove stray enum declaration
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-27 13:06:43 +01:00
Mans Rullgard
6b776c61da
buffersink: remove stray semicolon after function definition
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-27 13:06:27 +01:00
Janne Grunau
285b706b55
avfilter: fix graphparser memleaks on error paths
...
Fixes CID700635, CID700636 and CID732274.
2012-10-25 15:00:15 +02:00
Diego Biurrun
f6c38c5f4e
avfilter: call x86 init functions under if (ARCH_X86), not if (HAVE_MMX)
2012-10-12 19:58:51 +02:00
Anton Khirnov
59ee9f78b0
lavfi: do not use av_pix_fmt_descriptors directly.
2012-10-12 12:45:39 +02:00
Mans Rullgard
568c70e79e
lavfi: convert input/ouput list compound literals to named objects
...
A number of compilers, for example those from TI and IBM, choke on
these initialisers. The current style is also quite ugly.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-10-10 22:26:12 +01:00
Janne Grunau
79e6e8eba2
avfilter: correct memcpy size avfilter_copy_buf_props()
...
Does not make a difference in this case since sizeof(uint8_t*) ==
sizeof(uint8_t**). Fixes CID703814.
2012-10-09 21:05:14 +02:00
Janne Grunau
ac9a89562a
af_resample: unref out_buf when avresample_convert returns 0
...
Fixes CID732273.
2012-10-09 18:43:30 +02:00
Janne Grunau
8501c09868
af_amix: prevent memory leak on error path
...
Fixes CID732272.
2012-10-09 16:15:15 +02:00
Janne Grunau
1afd7a118f
af_channelmap: free old extended_data on reallocation
...
Prevents writes to freed memory and the leak of the old extended data.
Fixes CID732303.
2012-10-09 15:41:24 +02:00
Anton Khirnov
716d413c13
Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat
2012-10-08 07:13:26 +02:00
Justin Ruggles
7b556be673
af_resample: avoid conversion of identical sample formats for 1 channel
...
When there is only 1 channel, the planar and interleaved formats of the same
data type should be treated as identical.
2012-10-07 16:45:50 -04:00
Diego Biurrun
e4cbf7529b
Give all anonymously typedeffed structs in headers a name
...
Anonymous structs cannot be forward declared and have no benefit.
2012-10-06 09:27:11 +02:00
Anton Khirnov
ba04177eeb
vf_pad/scale: use double precision for aspect ratios.
...
Fixes Bug 203.
CC:libav-stable@libav.org
2012-10-06 07:27:53 +02:00
Anton Khirnov
e7ba5b1de0
lavr: change the type of the data buffers to uint8_t**.
...
This is more consistent with what the rest of Libav does.
This breaks API.
2012-10-05 13:49:44 +02:00
Anton Khirnov
4673a5a761
vf_overlay: properly sync inputs.
...
Right now it incorrectly assumes that the frames are sent in the proper
order, which worked with old ffmpeg and avconv versions by accident.
2012-10-04 10:23:25 +02:00
Anton Khirnov
ab35ec29a4
vf_overlay: get rid of pointless messing with timebase.
...
Output frames correspond 1:1 to input frames on the main input.
So use the main input timebase for output.
2012-10-04 10:21:58 +02:00
Anton Khirnov
11d1ca4b2c
Use avcodec_free_frame() to free AVFrames.
2012-09-24 12:31:25 +02:00
Anton Khirnov
e3496e5dbe
avfiltergraph: silence an uninitialized variable warning
...
The warning is:
libavfilter/avfiltergraph.c: In function ‘avfilter_graph_config’:
libavfilter/avfiltergraph.c:528:9: warning: ‘best_idx’ may be used uninitialized in this function [-Wuninitialized]
libavfilter/avfiltergraph.c:479:13: note: ‘best_idx’ was declared here
Initialize it to an invalid value and add an assert that it's properly
set later.
2012-09-17 15:48:20 +02:00
Anton Khirnov
4e48aa8656
buffersrc: add const to the AVFrame* argument of av_buffersrc_write_frame()
2012-09-17 15:48:20 +02:00
Mans Rullgard
1fce361d70
lavfi: replace empty input/output lists with null pointers
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-09-17 14:35:06 +01:00
Luca Barbato
28165fee1b
yadif: cosmetics
2012-09-09 15:31:18 +02:00
Anton Khirnov
91a84a5247
af_asyncts: check return value from lavr when flushing.
...
Fixes an infinite loop on flush when avresample_get_delay() still
reports some samples but avresample_convert() doesn't return any data.
2012-09-07 09:06:48 +02:00
Martin Storsjö
21bc440384
avopt: Explicitly store rational option defaults in .dbl
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-04 23:13:55 +03:00
Martin Storsjö
c7b610aa0b
avopt: Explicitly store float/double option defaults in .dbl
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-04 23:13:51 +03:00
Martin Storsjö
e6153f173a
avopt: Store defaults for AV_OPT_TYPE_INT in the i64 union member
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-04 23:13:44 +03:00
Martin Storsjö
d58dd4b5b5
avopt: Store defaults for AV_OPT_TYPE_FLAGS in the i64 union member
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-04 23:13:38 +03:00
Martin Storsjö
124134e424
avopt: Store defaults for AV_OPT_TYPE_CONST in the i64 union member
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-09-04 23:13:32 +03:00
Martin Storsjö
235f74db59
Rename missed cases of FF_OPT_TYPE_* to AV_OPT_TYPE_*
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-31 23:27:21 +02:00
Diego Biurrun
17337f54c0
x86: Split inline and external assembly #ifdefs
2012-08-31 01:53:25 +02:00
Diego Biurrun
cdaec0b240
avfilter: x86: Use more precise compile template names
2012-08-30 18:51:51 +02:00
Martin Storsjö
b441a4517b
vf_hqdn3d: Remove a duplicate inline declaration
...
Compilation seems to fail on GCC 3.4 due to this duplicate
declaration.
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-27 16:40:59 +03:00
Martin Storsjö
2bd67175c7
vf_hqdn3d: Don't declare the loop variable within the for loop
...
This C99 feature is generally not used in the libav codebase,
since it breaks building with some fringe compilers (GCC 2.95,
MSVC).
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-27 15:29:39 +03:00
Loren Merritt
7a1944b907
vf_hqdn3d: x86 asm
...
13% faster on penryn, 16% on sandybridge, 15% on bulldozer
Not simd; a compiler should have generated this, but gcc didn't.
2012-08-26 10:49:14 +00:00
Loren Merritt
566858a770
vf_hqdn3d: support 16bit colordepth
2012-08-26 10:49:14 +00:00
Anton Khirnov
4d7adec8bd
AVOptions: store defaults for INT64 options in int64 union member.
...
Double does not have enough precision to represent all int64 numbers
exactly.
2012-08-24 11:25:06 +02:00
Martin Storsjö
7ebe3962f3
Add missing includes for code relying on external libraries
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-16 16:47:02 +03:00
Martin Storsjö
33e112847d
Add more missing includes after removing the implicit common.h
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-16 10:49:54 +03:00
Martin Storsjö
70766c2182
Add some more missing includes after removing the implicit common.h
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-15 23:48:48 +03:00
Martin Storsjö
1d9c2dc89a
Don't include common.h from avutil.h
...
Signed-off-by: Martin Storsjö <martin@martin.st>
2012-08-15 22:32:06 +03:00
Mans Rullgard
480178a295
x86: yadif: fix asm with suncc
...
Under some circumstances, suncc will use a single register for the
address of all memory operands, inserting lea instructions loading
the correct address prior to each memory operand being used in the
code. In the yadif code, the branch in the asm block bypasses such
an lea instruction, causing an incorrect address to be used in the
following load.
This patch replaces the tmpX arrays with a single array and uses a
register operand to hold its address. Although this prevents using
offsets from the stack pointer to access these locations, the code
still builds as 32-bit PIC even with old compilers.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-13 14:51:52 +01:00
Diego Biurrun
804d7a1aa6
doxygen: Fix function parameter names to match the code
2012-08-09 20:05:55 +02:00
Mans Rullgard
c318626ce2
x86: rename libavutil/x86_cpu.h to libavutil/x86/asm.h
...
This puts x86-specific things in the x86/ subdirectory where they
belong.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-08-09 00:58:20 +01:00
Reinhard Tartler
800750417f
lavfi: properly signal out-of-memory error in ff_filter_samples
...
Found with a clang-scan report on http://fate.libav.org/csa/
2012-08-05 10:26:49 +02:00
Derek Buitenhuis
8b8750e061
cosmetics: Fix a few switched periods and linebreaks
...
Based on a patch by Piotr Bandurski.
Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
2012-08-04 16:39:27 -04:00
Diego Biurrun
239fdf1b4a
x86: build: replace mmx2 by mmxext
...
Refactoring mmx2/mmxext YASM code with cpuflags will force renames.
So switching to a consistent naming scheme beforehand is sensible.
The name "mmxext" is more official and widespread and also the name
of the CPU flag, as reported e.g. by the Linux kernel.
2012-08-03 22:51:05 +02:00
Diego Biurrun
d1505db067
x86: yadif: Mark mmxext optimizations as such
...
The yadif mmx optimizations contain the pmaxsw and pmaxub mmxext
instructions, causing sigills on CPUs that do not support mmxext.
2012-07-31 13:54:06 +02:00
Justin Ruggles
be51e589cd
af_asyncts: avoid overflow in out_size with large delta values
2012-07-29 14:31:54 -04:00
Justin Ruggles
70d71b5801
af_asyncts: add first_pts option
...
This allows for padding/trimming at the start of stream. By default, no
assumption is made about the first frame's expected pts, so no padding or
trimming is done.
2012-07-29 14:31:54 -04:00
Loren Merritt
1ad715dbf3
vf_hqdn3d: support 9 and 10bit colordepth
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-07-28 14:20:06 -07:00
Loren Merritt
0f583e6cc5
vf_hqdn3d: reduce intermediate precision
...
11% faster on penryn, 7% on sandybridge, 5% on bulldozer
Negligible change to output.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-07-28 14:19:01 -07:00
Loren Merritt
85e228c71d
vf_hqdn3d: simplify and optimize
...
14% faster on penryn, 2% on sandybridge, 9% on bulldozer
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-07-28 14:15:14 -07:00
Loren Merritt
fb44e7401f
factor identical ff_inplace_start_frame out of two filters
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-07-28 14:15:14 -07:00
Loren Merritt
60b9785530
vf_hqdn3d: cosmetics
...
Change code style to match the rest of libav.
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-07-28 14:12:22 -07:00
Anton Khirnov
b3fa478823
lavfi: bump minor to mark stabilizing the ABI.
2012-07-28 14:33:48 +02:00
Justin Ruggles
743f07062a
lavfi: better channel layout negotiation
...
Allow substitution of channel pairs in the input for nearby channel pairs in
the output in order to get a closer match. Also weigh LFE channel mismatch
differently to favor matching the same layout without LFE over one less
channel with LFE.
2012-07-27 14:15:33 -04:00
Anton Khirnov
b5c8aa745e
vf_yadif: unset cur_buf on the input link.
...
The buffer is stored internally, so this prevents it from being unreffed
automatically.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-26 00:01:04 +02:00
Anton Khirnov
f431315a86
vf_overlay: ensure the overlay frame does not get leaked.
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-26 00:01:04 +02:00
Michael Niedermayer
08fc1ad151
vf_overlay: prevent premature freeing of cur_buf
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2012-07-26 00:01:04 +02:00
Diego Biurrun
49c45a2624
avfilter: Fix printf format string conversion specifier
...
libavfilter/avfilter.c:224:9: warning: format ‘%ld’ expects argument of type ‘long int’, but argument 5 has type ‘int’ [-Wformat]
2012-07-25 09:24:25 +02:00
Ronald S. Bultje
3124886554
lavfi: place x86 inline assembly under HAVE_INLINE_ASM.
...
This allows compiling this code using compilers that do not understand
gcc-style inline assembly.
2012-07-22 19:44:06 -07:00
Anton Khirnov
a8a2271fe0
buffersrc: check ff_get_audio_buffer() for errors.
2012-07-22 09:14:05 +02:00
Anton Khirnov
8f3a3ce730
lavfi: check all ff_get_video_buffer() calls for errors.
2012-07-22 09:14:05 +02:00
Anton Khirnov
1dc4205018
lavfi: check all avfilter_ref_buffer() calls for errors.
2012-07-22 09:14:05 +02:00
Anton Khirnov
80e4ed279b
vf_select: avoid an unnecessary avfilter_ref_buffer().
2012-07-22 09:14:05 +02:00
Anton Khirnov
785fa50f0b
buffersrc: avoid creating unnecessary buffer reference
2012-07-22 09:14:05 +02:00
Anton Khirnov
02ac7311c8
lavfi: use avfilter_unref_bufferp() where appropriate.
2012-07-22 09:14:05 +02:00
Anton Khirnov
043800a968
vf_fps: add more error checks.
2012-07-22 09:14:05 +02:00
Anton Khirnov
d515e9c225
vf_fps: fix a memleak on malloc failure.
2012-07-22 09:14:05 +02:00
Anton Khirnov
3825b52688
lavfi: check all ff_start_frame/draw_slice/end_frame calls for errors
2012-07-22 09:14:05 +02:00
Anton Khirnov
d4f89906e3
lavfi: add error handling to end_frame().
2012-07-22 09:14:05 +02:00
Anton Khirnov
e9b992d035
lavfi: add error handling to draw_slice().
2012-07-22 09:14:05 +02:00
Anton Khirnov
ebc8d97481
lavfi: add error handling to start_frame().
2012-07-22 09:14:04 +02:00
Ronald S. Bultje
731fa116b4
yadif: use emms_c() instead of inline assembly for emms invocations.
2012-07-21 17:16:49 -07:00
Ronald S. Bultje
3db407038e
lavfi: use const for AVFilterPad declarations in all filters.
2012-07-21 16:31:15 -07:00
Anton Khirnov
4c9080a7ef
lavfi: unref AVFilterLink.out_buf in ff_end_frame().
...
This reduces code duplication and prevents stale pointers from remaining
on the link.
2012-07-20 21:12:49 +02:00
Anton Khirnov
07bad27810
lavfi: unref AVFilterLink.cur_buf in ff_end_frame().
...
This reduces code duplication and prevents stale pointers from remaining
on the link.
2012-07-20 21:10:42 +02:00
Anton Khirnov
533fd5b5b4
vsrc_testsrc: avoid an unnecessary avfilter_ref_buffer().
2012-07-20 21:09:57 +02:00
Anton Khirnov
5b50ae94e6
vf_slicify: clear AVFilterLink.cur_buf in start_frame().
...
The buffer is passed on to the next filter, so we shouldn't keep any
pointers to it.
2012-07-20 21:09:48 +02:00
Anton Khirnov
0393af4f0b
vf_settb: simplify start_frame().
...
Avoid pointless filter ref/unref. Just use the reference passed to
start_frame().
2012-07-20 21:08:50 +02:00
Anton Khirnov
9203fa0b32
vf_fieldorder: don't give up its own reference to the output buffer.
2012-07-20 21:08:26 +02:00
Anton Khirnov
f493c644cd
vf_pad: don't give up its own reference to the output buffer.
2012-07-20 21:08:13 +02:00
Anton Khirnov
ad8b6326aa
vf_overlay: don't access a buffer reference that's been given away.
2012-07-20 21:07:51 +02:00
Anton Khirnov
7155763b78
vf_drawtext: don't give up its own reference to the input buffer.
...
Directly forwarding the input buffer to the next filter means that
drawtext no longer owns any references to it and thus shouldn't refer to
it in any way.
2012-07-20 21:07:32 +02:00
Anton Khirnov
d19499c796
vf_gradfun: don't store two pointers to one AVFilterBufferRef.
2012-07-20 21:07:11 +02:00
Anton Khirnov
0fe010a36f
vf_delogo: don't store two pointers to one AVFilterBufferRef.
2012-07-20 21:06:49 +02:00
Anton Khirnov
51a8049be8
vf_aspect: clear AVFilterLink.cur_buf in start_frame().
...
The buffer is passed on to the next filter, so we shouldn't keep any
pointers to it.
2012-07-20 21:06:40 +02:00
Robert Nagy
b70d89a033
lavfi: add avfilter_unref_bufferp()
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-07-20 21:06:18 +02:00
Anton Khirnov
cd99146253
lavfi: add error handling to filter_samples().
2012-07-09 08:25:19 +02:00
Anton Khirnov
083d0f6be8
asplit: don't leak the input buffer.
2012-07-09 08:22:11 +02:00
Anton Khirnov
1ffb645662
af_resample: fix request_frame() behavior.
...
Make sure that an output frame has really been produced before returning
0.
2012-07-09 08:21:37 +02:00
Anton Khirnov
6f834293d3
af_asyncts: fix request_frame() behavior.
...
Make sure that an output frame has really been produced before returning
0.
2012-07-09 08:21:15 +02:00
Justin Ruggles
8ca08066fc
lavr: Use AV_SAMPLE_FMT_NONE to auto-select the internal sample format
...
Also make this the default value.
2012-07-08 15:22:11 -04:00
Anton Khirnov
b7558ac293
af_amix: avoid spurious EAGAIN.
...
Input on/off state can change in request_samples(), which can result in
a state where only the first input is active. get_available_samples()
will then return 0, and request_frame() will fail with EAGAIN even
though there is data on the single active input.
Take this into account and check the number of active inputs again after
calling request_samples().
2012-07-06 13:51:58 +02:00
Anton Khirnov
54bf88e65f
af_amix: return AVERROR(EAGAIN) when request_frame didn't produce output.
...
0 should only be returned when there was at least one output frame.
2012-07-06 13:51:58 +02:00
Anton Khirnov
428b369804
af_amix: only consider negative return codes as errors.
2012-07-06 13:51:58 +02:00
Mans Rullgard
7c29377b70
lavfi: reclassify showfiltfmts as a TESTPROG
...
This tool uses lavfi internal symbols not accessible in shared
libraries. TESTPROGS are linked statically to allow them use of
library internals not normally exported.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-04 17:48:25 +01:00
Diego Biurrun
2047e40e6e
Clarify Doxygen comment for FF_API_* #defines.
2012-07-04 15:10:10 +02:00
Diego Biurrun
1a068bfefd
cosmetics: Consistently use C-style comments with multiple inclusion guards
2012-07-03 17:35:12 +02:00
Diego Biurrun
09f211987c
misc typo and wording fixes
2012-07-03 17:35:11 +02:00
Mans Rullgard
fb93e61e2b
x86: lavfi: fix gradfun/yadif build with mmx/sse disabled
...
These functions are defined conditionally so any uses need to have
preprocessor guards.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-03 14:14:13 +01:00
Mans Rullgard
a87b17f328
vf_yadif: move x86 init code to x86/yadif.c
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-02 01:16:37 +01:00
Mans Rullgard
2f0accf103
vf_gradfun: move x86 init code to x86/gradfun.c
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2012-07-02 01:16:37 +01:00
Anton Khirnov
61d158c321
avfiltergraph: shut up uninitialized variable warning.
...
The warning silenced was:
libavfilter/avfiltergraph.c: In function ‘avfilter_graph_config’:
libavfilter/avfiltergraph.c:500:13: warning: ‘best_idx’ may be used uninitialized in this function [-Wuninitialized]
2012-06-26 19:10:17 +02:00
Anton Khirnov
fd2784c3b5
af_join: initialize a variable to shut up gcc warning.
...
The warning silenced was:
libavfilter/af_join.c: In function ‘join_request_frame’:
libavfilter/af_join.c:451:9: warning: ‘nb_samples’ may be used uninitialized in this function [-Wuninitialized]
2012-06-26 19:09:15 +02:00
Anton Khirnov
422008ac63
amix: fix format specifier for AVFilterLink.sample_rate.
...
It is a plain int now.
2012-06-26 19:08:26 +02:00
Anton Khirnov
1a49a169eb
lavfi: make filters less verbose.
2012-06-26 19:08:13 +02:00
Anton Khirnov
83ba22392d
lavfi: reorder AVFilterLink fields.
...
Move private fields to the private section, remove holes.
2012-06-26 13:25:13 +02:00
Anton Khirnov
f892013ac4
lavfi: reorder AVFilterContext fields.
...
Place related fields together, remove holes.
2012-06-26 13:24:36 +02:00
Anton Khirnov
9618080512
lavfi: reorder AVFilter fields.
...
Place related fields together, remove holes, move private fields to the
end and mark them as private.
2012-06-26 13:23:51 +02:00
Anton Khirnov
f14e685609
lavfi: reorder AVFilterBufferRef fields.
...
Place related fields together, remove holes.
2012-06-26 13:23:50 +02:00
Anton Khirnov
cb81e29138
lavfi: reorder AVFilterBuffer fields.
...
Place related fields together, remove holes.
2012-06-26 13:23:50 +02:00
Anton Khirnov
1961e46c15
lavfi: remove disabled FF_API_FILTERS_PUBLIC cruft
2012-06-26 13:20:19 +02:00
Anton Khirnov
5e88b96f37
lavfi: remove disabled FF_API_DEFAULT_CONFIG_OUTPUT_LINK cruft
2012-06-26 13:18:44 +02:00
Anton Khirnov
205e90249a
lavfi: use proper FF_API guards for different deprecated functions
2012-06-26 13:17:31 +02:00
Anton Khirnov
0b3b958135
lavfi: remove disabled FF_API_VSRC_BUFFER_ADD_FRAME cruft
2012-06-26 13:15:26 +02:00
Anton Khirnov
6c1e065bd4
lavfi: remove disabled FF_API_SAMPLERATE64 cruft
2012-06-26 13:15:14 +02:00
Anton Khirnov
8d900aa4d0
lavfi: remove disabled FF_API_GRAPH_AVCLASS cruft
2012-06-26 13:14:59 +02:00
Anton Khirnov
a5e8c41c28
lavfi: remove 'opaque' parameter from AVFilter.init()
...
It is not used in any filters currently and is inherently evil. If
passing binary data to filters is required in the future, it should be
done with some AVOptions-based system.
2012-06-26 13:13:48 +02:00
Alex Converse
41e637e449
lavfi: Add the af_channelmap audio channel mapping filter.
...
Inspired by MPlayer's af_channels filter and SoX's remix effect.
2012-06-22 13:55:58 -07:00
Anton Khirnov
dc07fb6f7b
lavfi: add join audio filter.
...
It joins multiple input streams into one multi-channel output.
2012-06-22 21:26:18 +02:00
Anton Khirnov
f75be9856a
lavfi: allow audio filters to request a given number of samples.
...
This makes synchronization simpler for filters with multiple inputs.
2012-06-22 21:23:42 +02:00
Anton Khirnov
58b049f2fa
lavfi: support automatically inserting the fifo filter when needed.
...
This breaks libavfilter ABI.
2012-06-22 21:06:01 +02:00
Anton Khirnov
fa06623930
lavfi/audio: eliminate ff_default_filter_samples().
...
It currently does the following:
1) get a zeroed audio buffer
2) copy some properties (but not the data) of the input buffer to it
3) pass this buffer to the output filter
This looks useless and is indeed not used by any filters, therefore
delete it.
Make ff_null_filter_samples() (just pass the buffer to the next filter)
the new default.
2012-06-22 20:58:19 +02:00
Anton Khirnov
e026c9b390
lavfi/audio: don't set cur_buf in ff_filter_samples().
...
It's redundant, since the input buffer is passed as a parameter to the
filter_samples() callback, and can lead to stale pointers remaining on
the link.
2012-06-21 09:27:05 +02:00
Anton Khirnov
4a97ff2fa7
lavfi/fifo: add audio version of the fifo filter.
2012-06-21 07:38:35 +02:00
Anton Khirnov
27570e211a
fifo: fix parenthesis placement.
2012-06-21 07:38:28 +02:00
Anton Khirnov
394a2a0452
lavfi: rename vf_fifo.c -> fifo.c
...
It will be used for audio too.
2012-06-21 07:38:14 +02:00
Justin Ruggles
ae46fbee1d
af_amix: allow float planar sample format as input
2012-06-18 18:01:14 -04:00
Justin Ruggles
f0ece49e74
af_amix: use AVFloatDSPContext.vector_fmac_scalar()
2012-06-18 18:01:14 -04:00
Janne Grunau
fbc5740566
af_resample: fix format modifier in debug string for FF_API_SAMPLERATE64
2012-06-15 19:10:58 +02:00
Anton Khirnov
9cdf74f904
lavfi/audio: use av_samples_copy() instead of custom code.
...
Fixes a possible invalid write, found by Nicolas George.
2012-06-13 13:58:58 +02:00
Anton Khirnov
24b2f4ed21
avfiltergraph: remove a redundant call to avfilter_get_by_name().
2012-06-13 13:58:03 +02:00
Anton Khirnov
2f296e39a1
lavfi: allow building without swscale.
2012-06-13 13:57:47 +02:00
Anton Khirnov
9baeff9506
lavfi: replace AVFilterContext.input/output_count with nb_inputs/outputs
...
This is more consistent with naming in the rest of Libav.
2012-06-13 11:13:22 +02:00
Anton Khirnov
9d0bfc5052
lavfi: make AVFilterPad opaque after two major bumps.
...
It will allow adding new fields to it without ABI breaks.
2012-06-13 11:11:33 +02:00
Anton Khirnov
84b9fbe055
lavfi: add avfilter_pad_get_type() and avfilter_pad_get_name().
...
This will allow making AVFilterPad opaque for the calling apps, since
those are the only two fields that can be useful to the users.
2012-06-13 11:10:17 +02:00
Anton Khirnov
6d58358a3a
lavfi: make avfilter_get_video_buffer() private on next bump.
...
They are only useful inside filters and we don't allow user filters for
now.
2012-06-13 11:09:15 +02:00
Anton Khirnov
d625136877
lavfi: add channelsplit audio filter.
2012-06-12 21:38:59 +02:00
Alex Converse
65a80ee1ec
avfilter: Log an error if avfilter fails to configure a link.
2012-06-12 10:05:31 -07:00
Anton Khirnov
d7d071a673
vf_libopencv: add missing headers.
...
Fix build after b74a1da4
.
2012-06-10 08:02:02 +02:00
Anton Khirnov
803391f719
lavfi: remove request/poll and drawing functions from public API on next bump
...
They are only useful inside filters and we don't allow user filters for
now.
2012-06-05 09:38:16 +02:00
Anton Khirnov
fa417fcd27
lavfi: make avfilter_insert_pad and pals private on next bump.
...
They are only useful inside filters and we don't allow user filters for
now.
2012-06-05 09:38:08 +02:00
Anton Khirnov
b74a1da49d
lavfi: make formats API private on next bump.
...
It is only useful inside filters and we don't allow user filters for
now.
2012-06-05 09:37:30 +02:00
Anton Khirnov
8eb9bf0933
avfiltergraph: make some functions static.
...
They are not used outside of avfiltergraph.c
2012-06-04 14:17:39 +02:00
Justin Ruggles
c7bd556d48
lavfi: amix: check active input count before calling request_samples
...
fixes use of the amix filter with only 1 input
2012-05-30 16:20:03 -04:00
Janne Grunau
12d42cd7a8
avfilter: include required header file avfilter.h in video.h
2012-05-29 15:36:06 +02:00
Justin Ruggles
c7448c182a
lavfi: add audio mix filter
2012-05-23 16:37:34 -04:00
Anton Khirnov
0ce4a627c9
lavfi: fix comment, audio is supported now.
2012-05-22 21:37:44 +02:00
Anton Khirnov
ce353a881f
lavfi: fix incorrect comment.
...
poll_frame()/request_frame() are used for audio too.
2012-05-22 21:37:44 +02:00
Anton Khirnov
c04c533f62
lavfi: remove avfilter_null_* from public API on next bump.
...
Those functions are only useful inside filters. It is better to not
support user filters until the API is more stable.
2012-05-22 21:36:23 +02:00
Anton Khirnov
43c7a01e98
lavfi: remove avfilter_default_* from public API on next bump.
...
Those functions are only useful inside filters. It is better to not
support user filters until the API is more stable.
2012-05-22 21:33:26 +02:00
Mina Nagy Zaki
88c3b87bd8
lavfi: deprecate default config_props() callback and refactor avfilter_config_links()
...
Link properties have to be checked after config_props() is called to
make sure everything is sane, so the default config_props() for output
links was redundant.
Remove now empty defaults.c
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-05-22 21:32:57 +02:00
Anton Khirnov
ccefa89f39
avfiltergraph: smarter sample format selection.
2012-05-22 21:29:36 +02:00
Anton Khirnov
f297dd3812
asyncts: reset delta to 0 when it's not used.
...
Fixes an invalid write.
2012-05-22 21:28:20 +02:00
Justin Ruggles
e0d8427dce
af_resample: remove an extra space in the log output
2012-05-21 18:26:51 -04:00
Justin Ruggles
afeb3590fc
lavfi: add an audio split filter
...
Based on current version of the asplit filter in FFmpeg written by
Stefano Sabatini and others.
2012-05-21 14:49:52 -04:00
Justin Ruggles
cc30080b3f
lavfi: rename vf_split.c to split.c
...
This is in preparation for adding an audio split filter.
2012-05-21 14:49:52 -04:00
Anton Khirnov
54c5dd89e3
lavfi: Add fps filter.
...
Partially based on a patch by Robert Nagy <ronag89@gmail.com>
2012-05-18 19:33:54 +02:00
Anton Khirnov
7b3b24a8ee
lavfi: initialize pts to AV_NOPTS_VALUE when creating new buffer refs.
2012-05-18 19:29:39 +02:00
Diego Biurrun
91791ac2ed
avfilter: Move ff_get_ref_perms_string() to where it is used.
...
This fixes a compilation failure with -DDEBUG.
2012-05-15 19:10:46 +02:00
Anton Khirnov
d89eca507c
Add missing version bumps and APIchanges/Changelog entries.
2012-05-15 06:57:31 +02:00
Anton Khirnov
4a1ac8c43f
lavfi: move buffer management function to a separate file.
2012-05-15 06:53:22 +02:00
Anton Khirnov
4c64fed37c
lavfi: move formats-related functions from default.c to formats.c
...
It's more convenient to have them all in one file.
2012-05-15 06:52:01 +02:00
Anton Khirnov
c5432d3ca4
lavfi: move video-related functions to a separate file.
...
This is easier to follow than having them randomly scattered in
avfilter.c and defaults.c.
2012-05-15 06:51:23 +02:00
Anton Khirnov
9f26421b0b
lavfi: add asyncts filter.
2012-05-14 21:36:11 +02:00
Anton Khirnov
fb604ae850
lavfi: add aformat filter
...
Based on a patch by Mina Nagy Zaki <mnzaki@gmail.com>
2012-05-14 21:36:11 +02:00
Anton Khirnov
a2cd9be212
lavfi: add an audio buffer sink.
2012-05-14 21:36:11 +02:00
Anton Khirnov
4c66c40718
lavfi: add an audio buffer source.
2012-05-14 21:36:11 +02:00
Anton Khirnov
720c6b78d1
buffersrc: add av_buffersrc_write_frame().
...
It's the same as av_vsrc_buffer_add_frame(), except it doesn't take pts
or pixel_aspect parameters. Those are read from AVFrame.
Deprecate av_vsrc_buffer_add_frame().
2012-05-14 21:36:11 +02:00
Anton Khirnov
8b05e13df3
buffersrc: fix invalid read in uninit if the fifo hasn't been allocated
2012-05-14 21:36:10 +02:00
Anton Khirnov
fad729fa50
lavfi: rename vsrc_buffer.c to buffersrc.c
...
Most of the code will be shared for both audio and video version.
2012-05-14 21:36:10 +02:00
Anton Khirnov
fd127ede62
avfiltergraph: reindent
2012-05-14 21:36:10 +02:00
Anton Khirnov
ff1f51a8aa
lavfi: add channel layout/sample rate negotiation.
2012-05-14 21:36:10 +02:00
Anton Khirnov
5775a1832c
lavfi: add types and functions for channel layout/samplerate negotiation
2012-05-14 21:36:10 +02:00
Robert Nagy
394a0267ab
yadif: Flush filter on eof.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-05-14 21:36:10 +02:00
Robert Nagy
7dd56d411e
yadif: Improve pts accuracy.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-05-14 21:36:10 +02:00
Anton Khirnov
012f04a277
lavfi: autoinsert resample filter when necessary.
2012-05-12 18:09:29 +02:00
Anton Khirnov
d371e7b988
lavfi: add lavr-based audio resampling filter.
2012-05-12 18:09:28 +02:00
Anton Khirnov
0b45334a58
lavfi: move audio-related functions to a separate file.
...
This is easier to follow than having them randomly scattered in
avfilter.c and defaults.c.
2012-05-09 20:32:49 +02:00
Anton Khirnov
472fb3bbfa
lavfi: remove some audio-related function from public API.
...
Those functions are only useful inside filters. It is better to not
support user filters until the API is more stable.
This breaks audio filtering API and ABI in theory, but since it's
unusable right now this shouldn't be a problem.
2012-05-09 20:31:56 +02:00
Anton Khirnov
f20ab492ac
lavfi: change AVFilterLink.sample_rate from int64_t to int on next bump
...
There is no real reason for it to be 64bit, it's just a plain int in the
rest of Libav.
2012-05-09 20:31:26 +02:00
Anton Khirnov
a6bdfc2a92
lavfi: change AVFilterBufferRefAudioProps.sample_rate from uint32_t to int
...
There's no reason for it to be explicitly 32 bits. It's declared as a
plain int in all other places in Libav.
This breaks audio filtering API and ABI in theory, but since it's
unusable right now this shouldn't be a problem.
2012-05-09 20:30:28 +02:00
Stefano Sabatini
7ef0adcc2e
lavfi: simplify signature for avfilter_get_audio_buffer() and friends
...
The additional parameters are just complicating the function interface.
Assume that a requested samples buffer will *always* have the format
specified in the requested link.
This breaks audio filtering API and ABI in theory, but since it's
unusable right now this shouldn't be a problem.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-05-09 20:29:53 +02:00
Stefano Sabatini
6735534f19
lavfi: use avfilter_get_audio_buffer_ref_from_arrays() in avfilter_default_get_audio_buffer
2012-05-09 20:28:56 +02:00
Stefano Sabatini
e727bca392
lavfi: cleanup avfilter_get_audio_buffer() and pals.
...
Remove AVFilterBufferRefAudioProps.size, and use nb_samples in its place
everywhere.
This is required as the size in the audio buffer may be aligned, so it
may not contain a well defined number of samples.
Also remove the useless planar parameter, which can be deduced from the
sample format.
This is technically an API and ABI break, but since the audio part of
lavfi is not usable now, this should not be a problem in practice.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-05-09 20:26:19 +02:00
Stefano Sabatini
1b8c9271bd
lavfi: add avfilter_get_audio_buffer_ref_from_arrays().
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-05-09 17:51:13 +02:00
Anton Khirnov
9453c9e1de
lavfi: add extended_data to AVFilterBuffer.
...
This is similar to what has previously been done in AVFrame to allow
dealing with more than 8 channels.
2012-05-09 17:47:53 +02:00
Anton Khirnov
ac71230902
lavfi: add video buffer sink, and use it in avtools
...
Also add the public interface libavfilter/buffersink.h.
Based on a commit by Stefano Sabatini.
2012-05-09 08:59:37 +02:00
Anton Khirnov
ab165047a6
lavfi: add a function for copying properties from AVFilterBufferRef->AVFrame
...
Based on a commit by Stefano Sabatini <stefano.sabatini-lala@poste.it>
2012-05-09 08:49:36 +02:00
Anton Khirnov
8134fafe9b
lavfi: uninline avfilter_copy_buffer_ref_props().
...
A nontrivial public function such as this should most certainly NOT be
inline.
2012-05-07 14:23:36 +02:00
Diego Biurrun
dbe6ba55a3
build: cosmetics: Add missing end-of-line backslashes to item lists.
2012-05-07 14:17:40 +02:00
Diego Biurrun
9eb83a56aa
build: cosmetics: Split HEADERS/OBJS/PROGS lists into one entry per line.
2012-05-07 14:01:32 +02:00
Robert Nagy
a07578f3f2
vf_yadif: fix missing error handling for avfilter_poll_frame()
2012-05-07 10:26:57 +02:00
Anton Khirnov
0bbd874743
lavfi: support audio in avfilter_copy_frame_props().
2012-05-07 07:10:48 +02:00
Mina Nagy Zaki
11b6a82412
lavfi: avfilter_merge_formats: handle case where inputs are same
...
This fixes a double-free crash if lists are the same due to the two
merge_ref() calls at the end of the (useless) merging that happens.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-05-07 07:08:59 +02:00
Anton Khirnov
d4ac703c7f
lavfi/formats: use sizeof(var) instead of sizeof(type).
2012-05-06 16:26:41 +02:00
Stefano Sabatini
f10530b78a
lavfi: remove avfilter_default_config_input_link() declaration
...
The function is not implemented (and possibly useless).
2012-05-06 16:26:41 +02:00
Anton Khirnov
25b3babe11
lavfi: always enable the scale filter and depend on sws.
...
The scale filter is used for internal colorspace conversions, so it must
always be present.
2012-05-06 16:22:29 +02:00
Anton Khirnov
fd18ee0ff6
vf_split: support user-specifiable number of outputs.
2012-05-06 16:21:00 +02:00
Nicolas George
5cb4f1a127
vsrc_buffer: return EAGAIN if no frame is available.
...
This is not an erroneous condition, do not print a warning.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-05-05 12:59:18 +02:00
Anton Khirnov
aff01de641
graphparser: set next to NULL on an entry extracted from inputs list
...
Prevents it from referring to the rest of the list.
2012-04-16 09:28:34 +02:00
Anton Khirnov
7af99a01c4
graphparser: fix the order in which unlabeled input links are returned.
2012-04-15 20:20:03 +02:00
Anton Khirnov
7bf9e3391f
vsrc_buffer: fix check from 7ae7c41
.
...
The user submitted variable in this function is frame, not buf.
2012-04-14 18:58:20 +02:00
Stefano Sabatini
91d3cbe0fd
avfiltergraph: make the AVFilterInOut alloc/free API public
...
This is required for letting applications to create and destroy
AVFilterInOut structs in a convenient way.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-04-14 09:25:46 +02:00
Anton Khirnov
12e7e1d03e
graphparser: allow specifying sws flags in the graph description.
2012-04-14 09:25:46 +02:00
Anton Khirnov
4e781c25b7
graphparser: fix the order of connecting unlabeled links.
...
Right now, e.g. scale,[in]overlay would connect scale to the first
overlay input and [in] to the second, which goes against the
documentation and is unintuitive.
The bug happens because of the ordering mess in curr_inputs variable:
1) the unlabeled links from the previous filter are added to it in
correct order
2) input labels are parsed and inserted to the beginning one by one
(i.e. in reverse order)
3) curr_inputs is matched against filter inputs in reverse order
Fix the problem by always using proper ordering without trying to be
clever.
2012-04-14 09:25:46 +02:00
Anton Khirnov
d7bcc71dad
graphparser: add avfilter_graph_parse2().
...
Unlike avfilter_graph_parse(), it returns unlinked inputs and outputs
to the caller, which allows parsing of graphs where inputs/outputs are
not known in advance.
2012-04-14 09:25:46 +02:00
Anton Khirnov
7ae7c41413
vsrc_buffer: allow using a NULL buffer to signal EOF.
2012-04-14 09:25:46 +02:00
Anton Khirnov
e36b25d1df
vf_overlay: implement poll_frame()
...
Signal that it can output a frame when there are frames on the main
input and EOF on the overlay input, but a frame is buffered -- e.g.
single picture overlay.
2012-04-09 21:30:21 +02:00
Anton Khirnov
90f65dc6cf
vf_scale: support named constants for sws flags.
2012-04-09 21:29:05 +02:00
Anton Khirnov
a03f8ea0a8
vsrc_buffer: when no frame is available, return an error instead of segfaulting.
2012-04-05 09:30:09 +02:00
Diego Biurrun
1f068e4450
vf_unsharp: Mark readonly variable as const.
...
This fixes the following warning:
libavfilter/vf_unsharp.c:106: warning: initialization discards qualifiers from pointer target type
2012-04-04 19:34:40 +02:00
Anton Khirnov
95587d29d7
vsrc_buffer: allow buffering arbitrary number of frames.
2012-04-01 09:04:19 +02:00
Anton Khirnov
416fd90ead
vf_scale: avoid a pointless memcpy in no-op conversion.
...
I.e. just pass the buffer along when src parameters == dst parameters.
2012-04-01 09:04:14 +02:00
Anton Khirnov
63736fe48c
avfiltergraph: try to reduce format conversions in filters.
...
Current code, with a filterchain such as
(input - yuv411) -> (scale - any) -> (sink - any)
will result in yuv420 being chosen for the second link, which is clearly
not right.
This commit attempts to improve in the following way:
repeat until convergence:
loop over all filters
find input link with exactly one format
force this format on all output links of the same type (if possible)
2012-04-01 09:04:09 +02:00
Anton Khirnov
996f9f0c32
avfiltergraph: add an AVClass to AVFilterGraph on next major bump.
...
It will be used for logging, possibly also AVOptions.
2012-04-01 09:03:35 +02:00
Diego Biurrun
e7e19b15c7
build: Only clean the architecture subdirectory we build for.
...
This allows simplifying the Makefiles; it is no longer necessary to register
arch subdirectory Makefiles, just putting them in place is enough.
2012-03-26 13:29:03 +02:00
Alex Converse
b0f29db5c2
Mark mutable static data const where appropriate.
2012-02-21 09:47:07 -08:00
Diego Biurrun
7331b6e718
Drop some completely unnecessary av_unused attributes.
2012-02-13 19:20:53 +01:00
Janne Grunau
456d3e4fb5
yadif: specify array size outside DECLARE_ALIGNED
2012-02-09 21:28:37 +01:00
Diego Biurrun
0bba26466f
cosmetics: Delete empty lines at end of file.
2012-02-09 12:26:45 +01:00
Anton Khirnov
38d5533228
pixdesc: mark pseudopaletted formats with a special flag.
...
This makes it possible to dintinguish them from PAL8.
Fixes an invalid write in avpicture_layout().
2012-02-08 21:01:31 +01:00
Andrey Utkin
e496c45d9b
drawtext: add 'fix_bounds' option on coords fixing
...
Before, drawtext filter deliberately altered given text coordinates if
text didn't fully fit on the picture. This breaks the use case of
scrolling large text, e.g. movie closing credits.
Add 'fix_bounds', to make it usable in such cases (by setting its value to 0).
Default behavior is not changed, and non-fitting text coords are fixed.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-02-06 07:57:40 +01:00
Andrey Utkin
2b43dfce36
drawtext: fix text_{w, h} expression vars
...
Before, {text_,}{w,h} vars hadn't got initialized
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-02-06 07:52:05 +01:00
Andrey Utkin
e7f0bc8c0f
drawtext: add missing braces around an if() block.
...
Prevents uninitialized read.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2012-02-05 08:07:55 +01:00
Alex Converse
7181c4edee
cosmetics: Remove extra newlines at EOF
2012-01-27 17:19:09 -08:00
Diego Biurrun
07a873a277
build: Automatically include architecture-specific library Makefile snippets.
2012-01-25 15:04:28 +01:00
Diego Biurrun
33ad8c3cab
cosmetics: Remove some unnecessary block braces.
2012-01-25 13:14:49 +01:00
Diego Biurrun
e44c11e9fa
cosmetics: Move static and inline attributes to more standard places.
...
Fixes several "‘static’ is not at beginning of declaration" warnings.
2012-01-14 17:32:36 +01:00
Anton Khirnov
3167dc9515
lavfi: move version macros to a new installed header version.h
2012-01-12 09:00:54 +01:00
Anton Khirnov
43fe6a2905
vsrc_buffer: release the buffer on uninit.
2012-01-12 08:59:00 +01:00
Anton Khirnov
5d25140f71
vsrc_buffer: error on changing frame parameters.
2012-01-10 16:47:15 +01:00
Diego Biurrun
3dc99a18d4
cosmetics: drop some pointless parentheses
2012-01-07 22:13:07 +01:00
Andrey Utkin
079688b6cb
Disable annoying warning without changing behavior
...
Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
2012-01-07 12:46:57 -08:00
Diego Biurrun
d4b63054d9
cosmetics: Drop unnecessary parentheses around return values.
2011-12-30 22:18:07 +01:00
Anton Khirnov
06e8d38f2b
Add minor bumps and APIchanges entries for lavc/lavfi changes.
2011-12-25 20:50:16 +01:00
Anton Khirnov
e1d9dbf2d4
lavfi: add a new function av_buffersrc_buffer().
...
It can be used to directly pass a AVFilterBufferRef to lavfi, avoiding a
memcpy.
2011-12-25 16:18:57 +01:00
Stefano Sabatini
1c9e340d35
lavfi: add avfilter_copy_frame_props()
...
avfilter_copy_frame_props() avoids code duplication and increases
robustness.
2011-12-25 16:18:57 +01:00
Stefano Sabatini
b58dbb5b03
lavc: add a sample_aspect_ratio field to AVFrame
...
The sample aspect ratio is a per-frame property, so it makes sense to
define it in AVFrame rather than in the codec/stream context.
Simplify application-level sample aspect ratio information extraction,
and allow further simplifications.
2011-12-25 16:18:57 +01:00
Anton Khirnov
82d05e78a6
allfilters: fix type of avfilter_vsrc_buffer.
2011-12-23 08:17:22 +01:00
Anton Khirnov
196c9e5c8c
lavfi: always build vsrc_buffer.
...
It's a part of public API.
2011-12-22 15:42:52 +01:00
Luca Barbato
d32eed5c73
yadif: support 10bit YUV
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-12-13 17:02:55 +01:00
Mans Rullgard
878dda5db1
build: move inclusion of subdir.mak to main subdir loop
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-12-13 14:26:49 +00:00
Diego Biurrun
58c42af722
doxygen: misc consistency, spelling and wording fixes
2011-12-12 23:06:23 +01:00
Anton Khirnov
cd3716b9aa
Replace all uses of av_close_input_file() with avformat_close_input().
2011-12-12 20:34:38 +01:00
Andrey Utkin
5b3265a718
lavfi: install libavfilter/vsrc_buffer.h
...
It declares API necessary for filtering apps.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-12-11 19:14:09 +01:00
Luca Barbato
78212cefe1
drawtext: remove typo
...
It slipped through the last two iterations.
2011-12-07 20:40:18 +01:00
Luca Barbato
f5edfc9e92
drawtext: introduce rand(min, max)
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-12-07 12:11:14 +01:00
Luca Barbato
73585620b8
drawtext: introduce explicit draw/hide variable
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-12-07 12:11:14 +01:00
Luca Barbato
2cf74eca70
drawtext: make x and y parametric
...
Introduce variables "E", "PHI", "PI", "main_w"/"W", "main_h"/"H",
"text_w"/"w", "text_h"/"h", "x", "y", "n" and "t" in line with
vf_overlay and refactor the code accordingly.
2011-12-03 01:35:29 +01:00
Luca Barbato
ec11ff8407
drawtext: manage memory allocation better
...
Call dtext_prepare_text as early as possible
Do not draw if the memory allocation failed
2011-12-03 01:35:28 +01:00
Luca Barbato
a2fb4bcb01
drawtext: refactor draw_text
...
Split the memory allocation from the actual drawing.
2011-12-03 01:35:28 +01:00
Mans Rullgard
cc276c85d1
Make channel layout masks unsigned
...
It makes more sense for a bit mask to use an unsigned type.
The change should be source and binary compatible on all
supported systems, hence micro version bump.
Fixes a few invalid shifts.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-11-25 13:19:54 +00:00
Ronald S. Bultje
43317fd52c
libavfilter: reindent.
2011-11-05 07:01:39 -07:00
Ronald S. Bultje
23a8b4ddfc
avfilter: don't abort() on zero-size allocations.
2011-11-05 06:59:27 -07:00
Alex Converse
0d7a16a946
avfilter: Don't copy garbage from the stack when setting up video pictures.
2011-11-03 15:54:04 -07:00
Diego Biurrun
959cfbf3f4
vsrc_testsrc: fix mailing list reference URL
2011-11-02 10:42:55 +01:00
Diego Biurrun
124e28847b
Remove some stray unnecessary ffmpeg references.
2011-11-02 10:42:54 +01:00
Stefano Sabatini
ec2ac9271c
lavfi: add rgbtestsrc source, ported from MPlayer libmpcodecs
...
The licence was changed from GPL to LGPL with explicit approval from
the original author.
See thread:
Subject: [FFmpeg-devel] [PATCH] lavfi: add rgbtestsrc source,
ported from MPlayer libmpcodecs
Date: Mon, 11 Jul 2011 16:32:41 +0200
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-19 07:09:08 +02:00
Stefano Sabatini
0244879f30
lavfi: add testsrc source
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-19 07:08:42 +02:00
Stefano Sabatini
b157be1f38
lavfi: port libmpcodecs delogo filter
...
The ported filter supports named option parsing and more YUV formats.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-17 18:05:41 +02:00
Stefano Sabatini
ce6b6ef645
lavfi: port boxblur filter from libmpcodecs
...
With the following additions:
* support to gray format
* support to yuva420p format
* parametric luma/chroma/alpha radius
* consistency check on the radius values, avoid crashes with invalid values
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-17 18:05:41 +02:00
Stefano Sabatini
171868e25a
lavfi: add negate filter
...
This filter is a simple wrapper around the LUT filter.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-17 18:05:41 +02:00
Stefano Sabatini
8fe0c527f3
lavfi: add LUT (LookUp Table) generic filters
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-17 18:05:38 +02:00
Anton Khirnov
145f741e11
AVOptions: rename FF_OPT_TYPE_* => AV_OPT_TYPE_*
2011-10-12 16:51:16 +02:00
Stefano Sabatini
1ee2014190
vf_unsharp: set default chroma size value to 5x5
...
The previous default value 0x0 was not good, since it is not even
valid.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-29 07:20:05 +02:00
Stefano Sabatini
998e8519ef
vf_unsharp: fix out-of-buffer read
...
In apply_unsharp(), when y is >= height, prevent out-of-buffer reading
from src, read from the last buffer line in src2 instead.
The check was implemented in the original unsharp libmpcodecs code and
lost in the port.
This also fixes output discrepancy between the two filters.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-29 07:19:30 +02:00
Stefano Sabatini
1c257dc32d
vf_unsharp: store hsub/vsub in the filter context
...
Also drop obfuscating CHROMA_WIDTH/HEIGHT macros.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-28 08:09:18 +02:00