Commit Graph
100 Commits
Author SHA1 Message Date
Nicolas George 44f660e7e7 lavfi: remove FF_LINK_FLAG_REQUEST_LOOP.
It has no longer any effect.
2015-09-20 19:02:33 +02:00
Nicolas George 2a351f6c55 lavfi: drop the requirement that request_frame returns a frame.
It requires a loop in filters or the framework,
that makes the scheduling less efficient and more complex.
This is purely an internal change since the loop is now
present in buffersink.
Note that no filter except buffersink did rely on the requirement.
2015-09-20 19:02:33 +02:00
Nicolas George 598f8a7afa lavfi/vf_idet: reindent after last commit. 2015-09-20 18:50:00 +02:00
Nicolas George 7635242ae5 lavfi/vf_idet: remove the loop in request_frame().
It is not necessary due to the use of FF_LINK_FLAG_REQUEST_LOOP.
2015-09-20 18:50:00 +02:00
Nicolas George 807d4b6355 lavfi/buffersink: loop over ff_request_frame().
Do not assume that ff_request_frame() returning success
implies a frame has arrived in the FIFO.
Instead, just loop until a frame is in the FIFO.
It does not change anything since the same loop is present
in ff_request_frame(), confirmed by an assertion.
2015-09-20 18:50:00 +02:00
Nicolas George 52c75d486e lavc/hevc: rudimentary support for skip_loop_filter.
+~9% speed on Core i5 on test sample.

All frames are treated as ref frames, skipping only applies
at level "all". The following mail contains information on
how to improve that:
http://ffmpeg.org/pipermail/ffmpeg-devel/2015-July/176116.html
2015-07-23 16:26:14 +02:00
Nicolas GeorgeandMichael Niedermayer 7971fa9ce0 lavd/xcbgrab: fix comparison with screen size.
Signed-off-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-05-06 13:33:17 +02:00
Nicolas GeorgeandLuca Barbato 01fdfa51ac xcbgrab: Accept geometries matching the screen size
Introduced in e8c4db0d4d.
2015-05-06 12:25:32 +02:00
Nicolas GeorgeandMichael Niedermayer 38155865df lavfi/avf_showcqt: fix error code.
Signed-off-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-04-16 12:38:28 +02:00
Nicolas George d92c6d82c0 ffmpeg: notify when the thread message queue blocks.
This can help finding the source of A-V desync with live input.
2015-02-26 19:19:56 +01:00
Nicolas George 508d6a23b4 ffmpeg: allow to set the thread message queue size. 2015-02-26 19:19:56 +01:00
Nicolas George a92193f247 lavd/alsa: set frame_size field.
The value tells the typical size of a packet from the demuxer.
2015-02-26 19:19:56 +01:00
Nicolas George c49c42a4a3 doc/faq: explain DAR/SAR preserving. 2015-02-19 11:30:30 +01:00
Nicolas George b491751409 doc: set documentencoding on toplevel texi files.
Fix double UTF-8 encoding on output files.
makeinfo / texi2any does not seem to provide a way of setting
it globally for toplevel files.
2015-02-19 11:30:30 +01:00
Nicolas GeorgeandMichael Niedermayer 55763b6f5e lavd/lavfi: allow to extract subcc.
Signed-off-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2015-01-02 20:17:05 +01:00
Nicolas George 40948819fc doc/faq: explain pkg-config basic setup. 2014-12-23 14:38:11 +01:00
Nicolas GeorgeandMichael Niedermayer acbc2ed26a lavf/concatdec: handle NOPTS start_time.
Fix trac ticket #3598.

Signed-off-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-12-15 20:00:35 +01:00
Nicolas George 6c96aa0606 configure: add a note about pkg-config --static.
Try to detect "$cc -static" without "pkg-config --static".
Also, when a library detection using pkg-config fails,
make it explicit this was pkg-config.
2014-12-02 18:43:54 +01:00
Nicolas George cfcaf6b38e configure: add optional pkg-config helper and use it.
The require variant dies if the package is not present.
The check variant does not import the flags to the used list.
The new variant imports the flags if the package is present
but does not die if it is not.
The new call graph is: require -> use -> check.

Use use_pkg_config for libx264 and libsmbclient: more readable
and three external call less per library.
2014-12-02 18:43:48 +01:00
Nicolas GeorgeandMichael Niedermayer 90cdec5e26 ffmpeg: init sub2video.last_pts.
Get the heartbeat working when the video has negative timestamps.

Fix trac ticket #4062.

Signed-off-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-11-05 21:04:36 +01:00
Nicolas George eb7a6d0813 lavu/bprint: add const to av_bprint_is_complete() argument. 2014-09-21 19:42:21 +02:00
Nicolas George 4bebce0617 lavf/http: remove special case for cookies attributes.
With the previous change, unknown attributes are all ignored,
as specified by the RFC.
2014-08-17 20:07:27 +02:00
Nicolas George 481cbc5ad5 lavf/http: fix cookie parsing.
The current code would use any unknown attribute-value pair
as the cookie value.
RFC 6265 states that the first key-value pair is the actual
cookie, and the attribute-value pairs only start after.

With the current code:
Set-Cookie: test=good_value; path=/; dummy=42
gives this:
Cookie: dummy=42
instead of this with the new code:
Cookie: test=good_value
2014-08-17 20:07:27 +02:00
Nicolas George 4f3e2f107b ffprobe: add -show_data_hash option. 2014-08-17 11:30:55 +02:00
Nicolas George 638eec2ac3 lavfi/avf_showspectrum: check RDFT context init.
Fix a segfault with large window size.
2014-08-14 15:11:39 +02:00
Nicolas George 7c10e32ae5 lavfi/avf_showspectrum: add full frame sliding mode. 2014-08-14 14:59:23 +02:00
Nicolas George ec33df6045 lavfi/avf_showspectrum: use automatic framing.
The framework can ensure that each input frame has exactly
the correct number of samples, except the last one.
2014-08-14 14:59:19 +02:00
Nicolas George d4de6d4fad lavfi/avf_showspectrum: do not push the frame at EOF.
It is always identical to the last pushed frame.
The samples in the last incomplete window were ignored,
this is unchanged.
Possible enhancement: pad the last incomplete window with
silence.
2014-08-14 14:23:59 +02:00
Nicolas George 65b284a4ae lavfi/avf_showspectrum: fix output pts computation. 2014-08-14 14:23:59 +02:00
Nicolas George a3aaaec891 lavfi/avf_showspectrum: set output frame rate. 2014-08-14 14:23:59 +02:00
Nicolas George f87db44685 lavf/avio: do not include bprint.h.
See f75786f and 04bc370.
2014-08-09 15:51:04 +02:00
Nicolas George 91244073fd ffmpeg_filter: refuse to configure input without a decoder.
The decoder is necessary in order to filter frames.
This makes the error message clearer in this case:
currently, it will usually fail because the pixel or sample
format is not defined and is converted into "(null)"
(non-portable).

Enhance trac ticket #3779.
2014-07-30 14:40:45 +02:00
Nicolas GeorgeandMichael Niedermayer 04bc370072 lavf/avio: do not include bprint.h.
C++ chokes on the definition of AVBPrint.
Including avio.h from c++ code used to work.
Fix trac ticket #3800.

Signed-off-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-07-25 05:37:45 +02:00
Nicolas George 8e2976860f lavd/x11grab: reindent after last commit. 2014-07-17 18:28:58 +02:00
Nicolas George 099aff5c42 lavfi: check refcount before merging.
When merging the formats around the automatically inserted
convert filters, the refcount of the format lists can not be 0.
Coverity does not detect it, and suspects a memory leak,
because if refcount is 0 the newly allocated lists are not
stored anywhere. That gives CIDs 1224282, 1224283 and 1224284.
Lists with refcount 0 are used in can_merge_formats(), so the
asserts can not be moved inside the merge functions.
2014-07-17 18:12:34 +02:00
Nicolas George 1d12df1ad7 lavd/x11grab: add an option to disable MIT-SHM.
With remote displays supporting the MIT-SHM extension,
the extension is detected and used, but attaching fails
asynchronously.
2014-07-17 18:12:15 +02:00
Nicolas George 16c6795465 lavd/x11grab: check 32-bits color masks.
The X11 servers by VNC, at 32-bits depths, has the following masks:
R:0x000007ff G:0x003ff800 B:0xffc00000
This is not compatible with AV_PIX_FMT_0RGB32, and the result
is success with completely wrong colors.
2014-07-17 18:11:56 +02:00
Nicolas George 36fbe3c789 lavd/x11grab: change error code for unsupported visuals. 2014-07-17 18:11:55 +02:00
Nicolas George a65c0a3fe8 lavd/x11grab: disable drawing mouse without XFixes.
Fix a segfault if the XFixes extension is not available on
the X11 server.
Can be reproduced using the VNC server.
2014-07-17 18:11:55 +02:00
Nicolas George fc9c857c2d ffmpeg: use thread message API. 2014-05-26 11:40:21 +02:00
Nicolas George 55cc60cd6d lavu: add thread message API. 2014-05-26 11:40:15 +02:00
Nicolas George 58a10e0e2c compat/w32pthreads: add return value to pthread_cond_init(). 2014-05-26 11:33:42 +02:00
Nicolas George 41334fcab4 lavfi/drawtext: allow to format pts as HH:MM:SS.mmm. 2014-04-29 13:25:59 +02:00
Nicolas George 50ed6e3ce6 lavf/concatdec: implement automatic conversions. 2014-04-29 13:25:59 +02:00
Nicolas George 9d24a536a3 lavf/concatdec: reindent after last commit. 2014-04-29 13:25:59 +02:00
Nicolas George b24d6c5303 lavf/concatdec: always do stream matching. 2014-04-29 13:25:59 +02:00
Nicolas George c27939d871 lavf/concatdec: check match_streams() return value. 2014-04-29 13:25:59 +02:00
Nicolas George e973cf04f6 lavf/concatdec: use a structure for each stream. 2014-04-29 13:25:59 +02:00
Nicolas George 43ca94a633 ffprobe: use the codec descriptor if no decoder was found. 2014-04-29 13:25:59 +02:00
Nicolas George c9212abf95 lavf/matroska: add "binary" pseudo-MIME type.
Avoid long scan and "Could not find codec parameters for stream"
error when an attachment has this type.
2014-04-29 13:25:59 +02:00
Nicolas George 70beebe357 lavc: minor bump and APIchanges for AVCodecDescriptor.mime_types.
The minor bump also covers AV_CODEC_ID_BIN_DATA.
2014-04-29 13:25:52 +02:00
Nicolas George 1bf6396498 lavc: add a mime_types field to codec descriptors. 2014-04-29 13:24:18 +02:00
Nicolas George 6ea1196673 lavc: add AV_CODEC_ID_BIN_DATA. 2014-04-29 13:24:18 +02:00
Nicolas George 892e2c2ad8 lavc: add codec descriptors for TTF and OTF. 2014-04-29 13:24:18 +02:00
Nicolas George fa7bc7ed8b lavc: add codec descriptors for deprecated ids. 2014-04-29 13:24:18 +02:00
Nicolas George e419e29e1c lavc/codec_desc: add separation comment. 2014-04-29 13:24:17 +02:00
Nicolas George 73c4b6ce4b tools/ffhash: implement base64 output.
Also fix usage string: the algorithm is not optional.
2014-04-29 13:24:17 +02:00
Nicolas George 3926a30b58 tools/ffhash: use av_hash_final_hex(). 2014-04-29 13:24:17 +02:00
Nicolas George b804eb4323 lavu/hash: add hash_final helpers.
The helpers use local memory to compute the final hash,
making AV_HASH_MAX_SIZE safe to use.
2014-04-29 13:24:11 +02:00
Nicolas GeorgeandAnton Khirnov ad8159e0fe libavfilter: Add asettb filter for setting timebase for audio
Ported asettb (including the sr option for audio sample rate) from FFmpeg,
and copied/modified the existing settb documentation for asettb.

Signed-off-by: Katerina Barone-Adesi <katerinab+libav@gmail.com>
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-04-10 12:52:19 +02:00
Nicolas George c0c1fe797c lavu: add myself as dynarray.h maintainer. 2014-03-23 19:17:20 +01:00
Nicolas George 521707d42e ffmpeg: sub2video: send a last blank frame before closing.
Fix trac ticket #3420.
2014-03-23 19:16:35 +01:00
Nicolas George 27cff4f6f8 tools: add dvd2concat. 2014-03-23 19:15:07 +01:00
Nicolas George 26dea7731e lavf/concatdec: allow to match streams by id.
That makes the concat demuxer usable with MPEG-PS streams,
even when the streams in the different parts are detected
in different order.
2014-03-23 19:15:07 +01:00
Nicolas GeorgeandMichael Niedermayer b0dcf76530 lavu/mem: reimplement the dynarray functions with the macro.
Signed-off-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-22 20:53:36 +01:00
Nicolas GeorgeandMichael Niedermayer 7b9a310d0e lavu: add AV_DYNARRAY_ADD() macro.
Signed-off-by: Nicolas George <george@nsup.org>
Reviewed-by: Lukasz Marek <lukasz.m.luki@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-03-22 20:53:31 +01:00
Nicolas George 6bffa83bbe lavf/concatdec: reindent after last commit. 2014-03-08 12:44:45 +01:00
Nicolas George 8a670f52a5 lavf/concatdec: more reliable test for absolute URLs.
ff_make_absolute_url() recognizes the "://" pattern usual
in HTTP-like protocols, but consider relative URLs starting
with just the protocol name or using the comma syntax for
options.
2014-03-08 12:38:31 +01:00
Nicolas George 97e87e09c8 lavf: add subfile protocol. 2014-03-08 12:36:57 +01:00
Nicolas George bc6901c949 lavfi/af_atempo: clear references before returning error.
Once the frame has been given to ff_filter_frame(), it can
no longer be used, even on error.

Fix trac ticket #3430.
2014-03-08 12:31:00 +01:00
Nicolas George c37bbe54f4 lavd/xv: take aspect ratio into account. 2014-03-08 12:29:32 +01:00
Nicolas George ea6825fd09 lavc/pthread: copy packet side data. 2014-03-08 12:27:02 +01:00
Nicolas George 299a56879d ffmpeg: make reading packets from thread blocking.
If a packet is not ready on the input selected by ffmpeg,
it will read from another input instead. If that happens
repeatedly, frames will accumulate somewhere later in the
processing to ensure streams synchronization. It can happen
in particular when reading from a slow medium or an
expensive lavfi filter graph.

Make reading from normal demuxers on non-streamed data and
from the lavfi pseudo-device blocking to avoid that.

Should fix trac ticket #3079.
2014-02-20 11:22:55 +01:00
Nicolas GeorgeandMichael Niedermayer 916a79227e lavf/mux: check av_dup_packet() return value.
Signed-off-by: Nicolas George <george@nsup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2014-02-20 02:58:39 +01:00
Nicolas George 6c27aea811 lavfi/pan: use extended_data instead of data.
Fix trac ticket #3380.
2014-02-19 11:29:15 +01:00
Nicolas George edc7e67669 lavf/lavd: version bump and APIchanges for uncoded frames. 2014-02-11 10:34:32 +01:00
Nicolas George 8400368f31 tools: add uncoded_frame test program. 2014-02-11 10:31:29 +01:00
Nicolas George dcda5ef1ea lavf: add uncodedframecrc test muxer. 2014-02-11 10:29:02 +01:00
Nicolas George d201a0f0f8 lavd/xv: preliminary support of uncoded frame. 2014-02-11 10:29:02 +01:00
Nicolas George 62106fcc23 lavd/alsa: preliminary support of uncoded frame. 2014-02-11 10:29:02 +01:00
Nicolas George 1b05ac220e lavf: add write_uncoded_frame() API. 2014-02-11 10:29:02 +01:00
Nicolas George 2dc5980d61 lavfi/dualinput: fix shortest option.
Fix trac ticket #3315.
2014-01-19 17:13:36 +01:00
Nicolas George 77b8d4e521 lavfi/vf_tile: use av_make_q. 2014-01-19 17:13:02 +01:00
Nicolas George c4b7ad324b lavfi/avf_concat: use av_make_q. 2014-01-19 17:12:50 +01:00
Nicolas George bf9908c627 lavfi/af_amerge: use av_make_q. 2014-01-19 17:12:40 +01:00
Nicolas George 3532dd52c5 lavu/rational: add syntactic sugar.
Add a function to create a rational
and macros for common values.
2014-01-19 17:12:22 +01:00
Nicolas George 2ebaadf35c lavc/mjpegenc: use proper error codes. 2013-12-30 10:58:02 +01:00
Nicolas George 19a2d101ac lavc/mjpegenc: check av_frame_alloc() failure. 2013-12-30 10:58:02 +01:00
Nicolas George 97af2faaba lavc/libopenjpegenc: check av_frame_alloc() failure. 2013-12-30 10:58:02 +01:00
Nicolas George a91394f4de lavc/diracdec: check av_frame_alloc() failure. 2013-12-30 10:58:01 +01:00
Nicolas George 38004051b5 lavc/utils: check av_frame_alloc() failure. 2013-12-30 10:58:01 +01:00
Nicolas George a55692a960 ffprobe: check av_frame_alloc() failure. 2013-12-30 10:58:01 +01:00
Nicolas George bcfcb8b852 lavc/ffwavesynth: fix dependency sizeof(AVFrame). 2013-12-30 10:58:01 +01:00
Nicolas George fde219cfa8 lavd/xv: report if no adaptor present. 2013-12-29 19:51:42 +01:00
Nicolas George 4b1c9b720e lavc/srtenc: use bprint for text buffers.
Fix trac ticket #3120.
2013-11-30 13:57:53 +01:00
Nicolas George 7b0a587393 lavfi/af_pan: support unknown layouts on input.
Fix trac ticket #2899.
2013-11-03 10:30:50 +01:00
Nicolas George 4e9adc9b73 lavfi/af_pan: support unknown layouts on output. 2013-11-03 10:30:47 +01:00
Nicolas George 4a640a6ac8 lswr: fix assert failure on unknown layouts. 2013-11-03 10:30:37 +01:00
Nicolas George 6e2473edfd lavfi: parsing helper for unknown channel layouts.
Make ff_parse_channel_layout() accept unknown layouts too.
2013-11-03 10:30:25 +01:00
Nicolas George 863fb11f63 lavd/lavfi: support unknown channel layouts. 2013-11-03 10:29:53 +01:00