Commit Graph
100 Commits
Author SHA1 Message Date
Nicolas George d9fad53f4b lavf/avio: check for : in filenames for protocols.
If the first "special" character in a filename is a comma,
it can introduce protocol options, but only if there is a
colon at the end. Otherwise, it is just a filename with a
comma.

Fix trac ticket #2303.
2013-02-28 19:30:56 +01:00
Nicolas George 3d2adeb6f8 lavfi/af_aresample: fix info log for unknown layouts. 2013-02-28 19:23:12 +01:00
Nicolas George 2bd104c72a lavfi/af_aresample: fix layout consistency check.
If the channel layout is unknown, lswr will internally use
the default one for the corresponding number of channels.
2013-02-28 19:23:12 +01:00
Nicolas George 89f9f69e3f lavf: rescale duration for chained muxers.
Fix trac ticket #2300 because the duration of the segments
was computed using the timestamp of the last packet plus its
duration using the 1/90000 default time base instead of using
the chained muxer time base.
2013-02-28 19:20:25 +01:00
Nicolas George bf63a474ca lavc/exr: use size_t instead of int for sizes.
Fix a segfault on 64-bits archs.
2013-02-28 19:13:58 +01:00
Nicolas George 13811b19d6 lavc/libopusenc: report an error if global_quality is set. 2013-02-27 19:01:34 +01:00
Nicolas George f102c24d90 ffmpeg: free last sub when using -fix_sub_duration.
Fix trac ticket #2242.

Note: under valid circumstances, when using -fix_sub_duration,
the last subtitle is a dummy termination packet, with no
allocated memory.
2013-02-27 18:57:33 +01:00
Nicolas George ea2de3d096 lavf/concatdec: add the "duration" directive. 2013-02-24 13:12:46 +01:00
Nicolas George b92c7a8f4b tools: add seek_print.
Useful for testing seek implementations.
2013-02-24 13:12:46 +01:00
Nicolas George ccc7bcc4fc lavc: check return values consistency when decoding subtitles. 2013-02-24 12:18:57 +01:00
Nicolas George e568d432b1 lavfi/formats: reindent after last commit. 2013-02-24 12:05:06 +01:00
Nicolas George 2d98dd3d14 lavfi: fix merging of formats and clarify exception.
The following commit:
b97d61f avfilter/ff_merge_formats: only merge if doing so does not loose chroma or alpha
introduced an exception to avoid lossy conversions.
Add a comment to explain the logic.
Fix the call to avoid applying it on audio formats.
2013-02-24 11:58:52 +01:00
Nicolas George 3d7f4f8726 lavf/avio: check that the protocol supports the open mode.
Fix trac ticket #2139.
2013-02-24 11:51:16 +01:00
Nicolas George bf0712c2f8 libavfilter/af_amerge: fix segfault if init fails. 2013-02-24 11:23:51 +01:00
Nicolas George 9fa5a47197 ffmpeg: set resample_pix_fmt for sub2video.
Forgotten when the resample_* fields were added.
Fix assert failures.
2013-02-21 12:41:30 +01:00
Nicolas George 01649c79c8 lavfi/buffersrc: set channel layout if it is known.
If buffersrc was configured for frames with an unknown layout,
the incoming frames will have channel_layout = 0.
If the format negotiation has selected a known (and compatible)
channel layout for the link, the frame is assumed to have
that layout, the field must be set before injecting the frame
in the filters.
2013-02-21 12:36:35 +01:00
Nicolas George dcc73aaaa9 doc/examples: do not allocate AVFrame directly.
The size of the AVFrame structure is not part of the ABI;
it can grow with later versions. Therefore, applications
are not supposed to allocate AVFrame directly, they are
supposed to use avcodec_alloc_frame() instead.
2013-02-17 15:51:50 +01:00
Nicolas George c557a5b08e lavfi/vf_ass: reindent after last commit. 2013-02-14 16:36:03 +01:00
Nicolas George bb3303b94c lavfi/vf_ass: ignore subtitles decoding errors.
A broken packet with invalid data in the middle of the stream
should not prevent from decoding the rest of the file.

Work around trac ticket #2264.
2013-02-14 16:33:53 +01:00
Nicolas George a17ececcc7 libcelt: decode directly to the user-provided AVFrame. 2013-02-13 15:05:16 +01:00
Nicolas George b68dd8a161 lavf/concatdec: allow probing. 2013-02-13 14:58:50 +01:00
Nicolas George db9dc5154d lavf/concatdec: add signature directive. 2013-02-13 14:58:50 +01:00
Nicolas George 6d680d20ad lavf/concatdec: add safe option. 2013-02-13 14:58:50 +01:00
Nicolas George f43d09cd60 lavf: add tee pseudo-muxer. 2013-02-09 20:50:11 +01:00
Nicolas George b5884db437 lavfi: fix missing space in error message. 2013-02-07 12:22:09 +01:00
Nicolas George 3dea8b375e lavfi: remove disabled code. 2013-02-07 12:22:09 +01:00
Nicolas George 23686c72e5 doc: update filter_design.txt to API changes. 2013-02-02 19:16:11 +01:00
Nicolas George 55910e1894 lavd/alsa: simplify reordering functions definition. 2013-02-02 14:13:11 +01:00
Nicolas George d2ccab5f8a lavfi/buffersrc: forward filter_frame errors.
Note: The ret variable was unused.
2013-01-31 21:03:54 +01:00
Nicolas George dcce43340f lavfi/af_amerge: set outbuf->audio->channels.
The value is lost because of avfilter_copy_buffer_ref_props().

Fix trac ticket #2217.
2013-01-31 21:03:54 +01:00
Nicolas George ae14887ee7 lavfi/af_amerge: check for buffer queue overflows.
Without that test, ff_bufqueue_add silently discards the
oldest buffer, that leaves in[i].nb_samples inconsistent,
and causes later a segfault.
2013-01-31 21:03:54 +01:00
Nicolas George 6560625f0a lavfi/bufferqueue: add ff_bufqueue_is_full(). 2013-01-31 21:03:54 +01:00
Nicolas George 42c6f2a645 lavfi/vf_drawtext: default to expansion=normal. 2013-01-26 12:52:19 +01:00
Nicolas George 5361f4958f fate: add an attachment to the Matroska test. 2013-01-26 11:33:09 +01:00
Nicolas George 255ae9f380 lavfi: version bump and change log entries after the last commits. 2013-01-26 11:25:21 +01:00
Nicolas George 41f025dff0 ffmpeg: support filtering of unknown channel layouts. 2013-01-26 11:15:38 +01:00
Nicolas George 699b286a21 lavfi/af_anull: accept unknown channel layouts. 2013-01-26 11:15:38 +01:00
Nicolas George b00502457a lavfi/af_aresample: accept unknown channel layouts. 2013-01-26 11:15:38 +01:00
Nicolas George 6d962aec8d lavfi/af_aformat: accept unknown channel layouts. 2013-01-26 11:15:38 +01:00
Nicolas George ea645e90a1 lavfi/buffersrc: accept unknown channel layouts. 2013-01-26 11:15:38 +01:00
Nicolas George 19506af788 lavfi/sink_buffer: accept unknown channel layouts.
Add a field to the AVBufferSinkParams for a list of accepted
channel counts.
Change the default value for the lists in AVBufferSinkParams
to NULL, to let lavfi fill them with something useful.
The fail_enomem path is unneeded because filters are uninited
on failure.
2013-01-26 11:15:38 +01:00
Nicolas George b6b2f3433c lavfi: implement ff_query_formats_all(). 2013-01-26 11:15:38 +01:00
Nicolas George 7bb98b753b lavfi: implement ff_all_channel_counts(). 2013-01-26 11:15:38 +01:00
Nicolas George b6afb2dde1 lavfi: support unknown channel layouts. 2013-01-26 11:15:38 +01:00
Nicolas George fccd8c21c4 ffmpeg: add -guess_layout_max option. 2013-01-26 11:15:38 +01:00
Nicolas George beb5d8f07d ffmpeg: accept "chapters" as forced key frames.
Allow to force a key frame at the beginning of each chapter.
2013-01-19 15:22:34 +01:00
Nicolas George 0942aa4637 lafv/matroska: add A_OPUS/EXPERIMENTAL codec name.
The exact packing of Opus inside Matroska is not finalized.
Use A_OPUS/EXPERIMENTAL as codec name, like mkvtoolnix.
The A_OPUS name stays to let ffmpeg open files it has produced
until now, but newly produced file use the EXPERIMENTAL version.
Once the spec is stabilized it will be possible to consider
options to ensure compatibility with these files.
2013-01-16 15:53:01 +01:00
Nicolas George 0e79fe37e5 lavd/v4l2: init return value.
Fix a warning and random failures.
2013-01-16 12:21:58 +01:00
Nicolas George 7e5c5fa5fc lavfi/vf_overlay: check that filter_frame does not return EAGAIN.
EAGAIN is used internally in the code; it currently does not make
sense as a return code from the next filter.

Should fix CID966655.
2013-01-10 21:55:02 +01:00
Nicolas George ff6b34009d lavfi: fix use-after-free in ff_filter_frame.
Unlike the original ff_start_frame code, the incoming reference
may be freed before that point.

Fix CID966654.
2013-01-08 13:31:33 +01:00
Nicolas George 305180f525 lavu/base64: return meaningful error code. 2013-01-05 15:40:40 +01:00
Nicolas George be01d1a24d fate: disable globbing when calling shell functions.
Some of the filters tests use globbing characters, especially
brackets for filter pad labels. While most of these strings
are way too complicated to ever match an existing file name
and are therefore kept unchanged in the command line (an old
misfeature of the shell language that happens to be convenient
here), at least one use is simple enough to match random files
lying in the current directory. If that happens, the string,
that was meant to be kept verbatim, is replaced by the file
name, and that causes the test to fail (or worse).
2013-01-03 16:16:07 +01:00
Nicolas George b252d9e777 fate: add sub2video test. 2013-01-02 17:53:12 +01:00
Nicolas George e4f14c32b9 examples/muxing: improve error messages.
Illustrate the use of return values, av_err2str and
avcodec_get_name.
2013-01-02 17:42:00 +01:00
Nicolas George b99bef17b4 lavfi/avfiltergraph: check pick_format return code. 2013-01-02 16:56:03 +01:00
Nicolas George 98ce9b8468 fate: merge mapchan and options into ffmpeg.
They were two very short files that cover ffmpeg-specific features.
2013-01-01 23:48:41 +01:00
Nicolas George 102cf964dd ffmpeg: sub2video: set resample size.
Necessary after 04a530f.
2013-01-01 23:06:34 +01:00
Nicolas George 5ed5e90f2a lavc/dvdsubenc: improve color distance function.
Consider the color space as an hypercone with apex alpha=0
and base alpha=1 instead of an hypercube.
Make the encoder consider very transparent colors more similar
even if the hue is very different.
This corresponds roughly to using the alpha as a weight for the
color difference.
Only 4 bits of alpha are used, because this is what dvdsub uses,
and it avoids overflows.

Fix trac ticket #2005.
2013-01-01 20:07:37 +01:00
Nicolas George 8dbbaf568e lavf/matroskaenc: respect bitexact for attachments.
Use the first 64 bits of the SHA1 of the content as file UID
instead of a random number if the bitexact flag is set.
2013-01-01 19:43:21 +01:00
Nicolas George 5bab99baea ffmpeg: apply flags to attachments too. 2013-01-01 19:43:21 +01:00
Nicolas George 951a03b3a8 ffmpeg: move stream_copy flags handling after attachments. 2013-01-01 19:43:20 +01:00
Nicolas George ecda1d3cbe lavf: add data: URI scheme. 2013-01-01 19:29:04 +01:00
Nicolas George 69a1667b06 ffmpeg: mark attachment streams finished.
Fix trac ticket #2083.
2013-01-01 16:05:35 +01:00
Nicolas George 82541d8330 lavfi: merge all filtering code into ff_filter_frame. 2013-01-01 15:19:04 +01:00
Nicolas George 2eb2e1798e lavfi: add avfilter_get_audio_buffer_ref_from_arrays_channels.
It is the same as avfilter_get_audio_buffer_ref_from_arrays
except it has a "channels" and the channel layout can be 0.
2013-01-01 02:01:28 +01:00
Nicolas George 9e28e0035a lavc/flacenc: improve error return.
Use meaningful error codes and add log messages.
2012-12-31 19:11:12 +01:00
Nicolas George 11ab2c25b6 lavfi/avfiltergraph: print query_formats errors. 2012-12-31 18:43:04 +01:00
Nicolas George 5f12d5ad78 lswr: improve rematrixing error message.
Report channel layout/count for insufficiently determined
rematrixing.
2012-12-31 18:43:04 +01:00
Nicolas George c36302a7a4 lavfi/sink_buffer: switch to filter_frame. 2012-12-30 18:29:57 +01:00
Nicolas George a978c04e22 lavfi/video: ensure that filter_frame is called.
This is a temporary workaround until all filters have been
upgraded to filter_frame and the framework can forget completely
about start_frame/draw_slice/end_frame.
2012-12-30 18:29:57 +01:00
Nicolas George c7a1239bf9 lavfi/af_aconvert: update audio->channels. 2012-12-20 17:01:35 +01:00
Nicolas George 0146c1f0f1 lavfi: remove init and check of rate and layout.
The sample rate and channel layout are negotiated and set
by the filter graph system.
2012-12-20 13:03:42 +01:00
Nicolas George 5033a1af17 lavfi/buffersrc: remove init of rate and layout.
The sample rate and channel layout are negotiated and set
by the filter graph system, the filters must not set them.
2012-12-20 13:03:42 +01:00
Nicolas George 34de47aa35 lavfi: add an accessor for ref->audio->channels. 2012-12-20 13:03:41 +01:00
Nicolas George 238edd2fe3 lavfi: add a channels field to AVFilterLink.
Also: fix af_pan and af_aresample, that forgot to update
audio->channels.
2012-12-20 13:03:41 +01:00
Nicolas George 2dbc84b1a8 lavf/matroskaenc: check for overflow in display width. 2012-12-13 12:45:07 +01:00
Nicolas George 26db6535fc lavf/matroskaenc: use integers to for display size.
Avoid rounding differences between x86_32 and x86_64.
Fix trac ticket #1997.
2012-12-12 20:59:34 +01:00
Nicolas George 0f236345fb ffmpeg: sub2video: use start and end time.
Until now, the end_display_time was ignored, making single
packets subtitles (like dvdsub) stay indefinitely.

start_display_time was also ignored, but is it almost always 0.
2012-12-12 15:05:50 +01:00
Nicolas George 16c3cb9bbf lavf/concatdec: avoid leaking URLs.
Use av_realloc instead of av_realloc_f to keep the original
array in case of failure: it is freed in full by the fail label.
2012-12-12 12:15:57 +01:00
Nicolas George 160013736e lavf: TED Talks JSON captions demuxer. 2012-12-09 18:50:38 +01:00
Nicolas George e6701d51e1 lavc/mlpdec: reset layout when channels change.
Triggered by the sample for trac ticket #1726.
2012-12-08 10:12:38 +01:00
Nicolas George 32aedebdc5 lavf: add a concat demuxer. 2012-12-06 14:09:14 +01:00
Nicolas George 217b10de3f lavc/dvdsubdec: accept palette from options.
On DVDs, the palette is part of the IFO file and therefore
not available when reading from a dumped VOB file.
2012-12-05 09:25:48 +01:00
Nicolas George 03847eb825 lavf: compute probe buffer size more reliably.
The previous code computes the offset by reversing the growth
of the allocated buffer size: it is complex and did lead to
inconsistencies when the size limit is reached.

Fix trac ticket #1991.
2012-12-04 19:49:51 +01:00
Nicolas George 0444733b78 lavfi/drawtext: add the reload option. 2012-12-04 19:06:22 +01:00
Nicolas George 2cb227f6a2 lavu/channel_layout: document the semantic of layouts. 2012-12-02 18:51:04 +01:00
Nicolas George ddd87236f0 lavfi/vf_super2xsai: fix output ref size. 2012-12-02 17:08:17 +01:00
Nicolas George 24cb1f9718 lavfi/vf_tile: forward errors. 2012-12-02 13:53:41 +01:00
Nicolas George 3b316247fb lavfi/vf_tile: cosmetic after last commit. 2012-12-02 13:53:41 +01:00
Nicolas George 6f3d2fb18b lavfi/vf_tile: switch to filter_frame.
Also add error check on buffer allocation.
2012-12-02 13:53:41 +01:00
Nicolas George 86a2486812 lavu/parseutils: accept %J for hours >= 24.
Allow to parse durations >= 24:00:00.
2012-12-02 11:48:56 +01:00
Nicolas George ca4872e887 lavf/sbgdec: use proper constants for av_log(). 2012-11-24 23:56:52 +01:00
Nicolas George c437c251b8 lavfi/drawtext: implement more generic expansion.
The new expansion mechanism uses the %{...} notation.
For compatibility reasons, it must be enabled explicitly,
but a warning is printed if a conflict is likely to happen.
2012-11-18 15:55:47 +01:00
Nicolas George ee2d6fbc92 doc/texi2pod: recognize @table @command. 2012-11-17 19:47:56 +01:00
Nicolas George 29e388abcb lavfi/drawtext: use bprint for the expanded text. 2012-11-17 19:47:56 +01:00
Nicolas George 4cd74c8143 lavu/bprint: implement av_bprint_strftime(). 2012-11-17 19:47:56 +01:00
Nicolas George cb8c5e531c cmdutils: free the report file name.
Fix coverity issue 743443, which was a harmless leak.
2012-11-17 12:41:22 +01:00
Nicolas George 1ba2e589cc configure: add --fatal-warnings option. 2012-11-17 12:01:17 +01:00
Nicolas George c551c3b18b configure: warn when en/disabling has no effect.
Print a warning for --enable- or --disable-something=pattern
does not match any component.
2012-11-17 11:57:17 +01:00
Nicolas George 926481078b lavu/opt: fix av_opt_get_key_value() API.
Do not skip the end delimiter.
Reserve positive return values.
This is an API break, but the function was introduced less than
two weeks ago.
2012-11-16 10:36:45 +01:00