Commit Graph
100 Commits
Author SHA1 Message Date
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
Nicolas George 468781f828 doc/APIchanges: clarify comment on new APIs. 2012-11-16 10:36:45 +01:00
Nicolas George aeb4d27dec doc/faq: explain libfoo-dev packages. 2012-11-08 21:05:10 +01:00
Nicolas George d55911adc8 doc/faq: replace @file by @command for "ffmpeg". 2012-11-07 23:45:12 +01:00
Nicolas GeorgeandMichael Niedermayer e9b8523d52 sbgdec: dont set slide to a uninitialized value
Fixed CID703833
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-11-06 21:46:22 +01:00
Nicolas George 1fa47f8dea cmdutils: allow to set the report file name.
The file name can be set by setting the FFREPORT environment
variable to "file=something".

Fix trac ticket #1823.
2012-11-04 10:52:43 +01:00
Nicolas George 3bdf4971ba lavu/opt: implement av_opt_get_key_value().
This function does the low-level work of av_opt_set_from_string()
but can be used when there is no option context or when a generic
handling of unknown keys is needed.

av_opt_set_from_string() is changed to make use of it.
2012-11-04 10:47:52 +01:00
Nicolas George e021eeb9f0 lavu/opt: parse key into a mallocated buffer.
It removes the hardcoded limit on the key size without making
the code much more complex, and it makes for a more versatile API.
2012-11-04 10:47:52 +01:00
Nicolas George 73180ecd0a doc/faq: make the -sameq question more explicit.
Wording suggested by Stefano Sabatini, should have been
merged with the previous commit.
2012-11-03 17:13:44 +01:00
Nicolas George 8cf6377ac1 doc/faq: explain why -sameq is gone. 2012-11-03 17:03:13 +01:00
Nicolas George 805b57001f lavc/pngdec: decode textual data (tEXt and zTXt).
Requested in trac ticket #1857.
2012-11-02 15:12:29 +01:00
Nicolas George 483c1aa5f1 lavu/bprint: add av_bprint_get_buffer().
It is useful to use bprint to handle a growing buffer
used with another API.
2012-11-02 15:12:29 +01:00
Nicolas George 14f69a0516 fate: add a test for scale with variable input format. 2012-10-28 09:59:03 +01:00
Nicolas George b0e2f4a757 lavfi/concat: implement unsafe mode. 2012-10-28 09:14:34 +01:00
Nicolas George 48ec8b25a7 lavfi/af_volumedetect: print stats in uninit().
If the stats are printed when request_frame on the input
returns EOF, then they are never printed if the filter is
not flushed, in particular when using the -t ffmpeg option.

Fix trac ticket #1727.
2012-10-25 20:16:09 +02:00
Nicolas George 77a72d3485 lavfi/vf_fps: allow to set the rounding method.
By default, fps selects frames near PTS 0, 0.5, 1.5, 2.5, etc.
With round=down, it selects the frames near PTS 0, 1, 2, 3, etc.
2012-10-25 19:42:44 +02:00
Nicolas George 709628aa71 lavfi/avf_concat: fix invalid exclusive test.
The invalid test did not cause any actual problem since
the first branch is only possible with bogus filters.

Fix coverity issue CID 733850.
2012-10-17 21:28:58 +02:00
Nicolas GeorgeandMichael Niedermayer 72f10d5473 8svx: copy start value in output samples.
Otherwise, the last byte of each stream is left uninitialized.

Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-10-03 01:45:27 +02:00
Nicolas George e4b1fcd474 lavu/opt: cosmetic fixes forgotten in the previous patch. 2012-09-30 10:23:08 +02:00
Nicolas George 438978fb4b opt: implement av_opt_set_from_string().
It is similar to av_set_options_string() but accepts a list
of options that can be in shorthand: if the key is omitted
on the first fields, the keys from the shorthand list are
assumed, in order.
2012-09-30 09:21:29 +02:00
Nicolas GeorgeandDiego Biurrun 44617d6ec9 Opus decoder using libopus
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2012-09-28 11:03:20 +02:00
Nicolas George 9de731e9d0 lavfi/sink_buffer: implement libav compatibility API.
Implement av_buffersink_read() and av_buffersink_read_samples()
for ffmpeg's version of buffersink.

With this change, avconv linked against ffmpeg's libraries passes
the same number of tests whether it uses ffbuffersink or
buffersink_old.
2012-09-27 18:43:37 +02:00
Nicolas George 8e1f063efc lavfi: enable buffersinks unconditionally.
They are part of the public API. Their libav compatibility
counterpart are already enabled unconditionally.
2012-09-27 15:57:30 +02:00
Nicolas George 7200fecd9b cmdutils: sort codec lists.
The lists are sorted first by type (video first)
and then alphabetically by name.

Fix ticket #1669.
2012-09-23 21:05:29 +02:00
Nicolas George a9e4817716 ffmpeg: use PTS from the AVSubtitle structure for sub2video. 2012-09-15 16:14:33 +02:00
Nicolas George 2939e258f9 ffplay: use PTS from the AVSubtitle structure. 2012-09-15 16:14:33 +02:00
Nicolas George 6d8b32633e ffmpeg: use PTS from the AVSubtitle structure. 2012-09-15 16:14:33 +02:00
Nicolas George 37bbc9eb8b lavc/pgssubdec: use the PTS from the presentation segment.
According to the sample for trac ticket #1722, PGS subtitles
are decoded from several packets at the same DTS and varying PTS.
The PTS from the presentation segment seem to be the valid one;
in particular, clear subtitles are too early with the other PTS.
2012-09-15 16:14:33 +02:00
Nicolas George 9dd8272431 lavc: set AVSubtitle.pts if possible.
If the packet has a PTS and the corresponding time base is known,
set the pts field of the decoded subtitle structure before the
call to the decoder. The decoder is still allowed to change the
PTS if necessary.
2012-09-15 15:58:42 +02:00
Nicolas George 1b9a251438 ffmpeg: call sub2video_update for end packets.
Without that change, all subtitles will stay until the next one.
2012-09-15 15:58:42 +02:00
Nicolas George 8ad54a44eb lavfi: check that buffer and link properties match. 2012-09-13 20:09:53 +02:00
Nicolas George c262ddb8c5 lavfi: set sample_rate in the default allocator. 2012-09-13 20:09:53 +02:00
Nicolas George b5bea2f960 lavfi/aresample: set buffer properties after copy.
The aresample filter changes the format, layout and/or sample rate,
it can not copy them blindly from its input.

Related to trac ticket #1671.
2012-09-13 12:05:19 +02:00
Nicolas George a5704659e3 lavfi/af_atempo: use av_malloc for rDFT buffers.
Memory obtained from av_realloc is not aligned enough for AVX.
The other similar allocations are changed too because they use
the same macro. The buffers were cleared afterwards anyway.

Fix trac ticket #1692.
2012-08-29 18:19:41 +02:00
Nicolas George a9b1a151d2 ffmpeg: count finished streams for last stats line.
Otherwise, all streams are finished and the time is nonsensical.
2012-08-28 23:19:33 +02:00
Nicolas George 18217bb0f5 ffmpeg: report max time of unfinished streams in stats.
Eliminating finished streams avoids the progress stopping
with the first stream.
Using the max instead of the min avoids the progress stopping
with gaps in sparse streams (subtitles).
Negligible change for normal circumstances.
2012-08-28 18:48:32 +02:00
Nicolas George fb6fb0dedb tools: add make_chlayout_test perl script.
This script uses the flite source to produce files
suitable to test channels order and layout.
2012-08-28 15:18:27 +02:00
Nicolas George 786dadc014 cmdutils: add -layouts option.
Extract of the output:

| Individual channels:
| NAME        DESCRIPTION
| FL          front left
| FR          front right
| <snip>
| SDR         surround direct right
|
| Standard channel layouts:
| NAME        DECOMPOSITION
| mono        FC
| stereo      FL+FR
| <snip>
| octagonal   FL+FR+FC+BL+BR+BC+SL+SR
| downmix     DL+DR
2012-08-28 15:09:49 +02:00
Nicolas George de60880543 lavc/dvdsubenc: check the type of rectangles.
Avoid a crash if a text rectangle is provided.
Fix the segfault reported in trac ticket #1661.
2012-08-24 12:12:41 +02:00
Nicolas George c2271fa7f9 lavfi: free partial audio buffers when destroying links.
Fix a memleak that the recent change of architecture made
more likely to happen.
2012-08-22 23:31:49 +02:00
Nicolas George 52820bc578 lavfi/overlay: fix return values.
They were only roughly adapted when error return was
added to the push functions.
2012-08-22 19:04:30 +02:00
Nicolas George a9cfe656d7 lavfi/split: handle closed outputs.
Return AVERROR_EOF if all outputs are closed.
2012-08-22 19:04:30 +02:00
Nicolas George 8b61abac2e ffmpeg: use close_output_stream more systematically. 2012-08-22 19:04:30 +02:00
Nicolas George 666fd092be ffmpeg: move close_output_stream earlier.
It will avoid a forward declaration.
2012-08-22 19:04:30 +02:00
Nicolas George 425b77114b ffmpeg: make decoding_needed a counter. 2012-08-22 19:04:30 +02:00
Nicolas George beeba9161a lavfi: add a closed field to AVFilerLink.
It will help forward errors and maintain consistency.
2012-08-22 19:04:30 +02:00
Nicolas George ac07f941ae ffmpeg: use AV_BUFFERSRC_FLAG_PUSH.
It reduces the lifespan of buffers in filter graphs,
and therefore the memory consumption.
2012-08-22 19:04:30 +02:00
Nicolas George f4aeb48516 ffmpeg: remove outdated warning.
-t works with complex filters now.
2012-08-21 00:03:00 +02:00
Nicolas George ac45637324 lavf/nutenc: write stream metadata. 2012-08-20 23:54:56 +02:00
Nicolas George 454e37ce0c lavf/nut: define fourcc DVBT for DVB_TELETEXT.
Allow "-map 0:s -c:s copy" to copy all subtitles streams.
2012-08-20 23:54:56 +02:00
Nicolas George dcae2ecc13 ffmpeg: remove useless flags to EOF av_buffersrc_add_ref. 2012-08-20 23:45:15 +02:00
Nicolas George 5bbe4142d1 lavfi/buffersrc: add AV_BUFFERSRC_FLAG_PUSH. 2012-08-20 23:40:16 +02:00
Nicolas George c28d80f4c9 lavc: avcodec_get_name: return "none" for AV_CODEC_ID_NONE. 2012-08-19 15:26:05 +02:00
Nicolas George 5980e57cf9 lavfi: add volumedetect filter. 2012-08-19 11:37:05 +02:00
Nicolas George 13b965ead4 ffmpeg: reindent after last commit. 2012-08-19 11:23:59 +02:00
Nicolas George 429c6cab1c ffmpeg: reduce differences with avconv for in/out scheduling.
Rework the transcode() function and its immediate annexes to have
the same structure as in avconv, while still maintaining proper
scheduling to avoid accumulation.

Using -filter_complex without inputs now works.
2012-08-19 11:20:56 +02:00
Nicolas George 92b8c9d89e lavf/au: check bits per coded sample.
Without that, it would repeatedly produce empty packets
if the codec if forced to something invalid.

Fix trac ticket #1652.
2012-08-18 17:45:58 +02:00
Nicolas George 9467f4eb5d lavc/tscc: use reget_buffer.
The previous code would release the buffer and get it
immediately after, assuming the contents is the same.
2012-08-18 09:52:15 +02:00
Nicolas George 9341bbfc51 vf_yadif: fix permissions.
Require AV_PERM_PRESERVE and leave harmless permissions
alone for the next filter.
2012-08-17 18:26:42 +02:00
Nicolas George 71adb74059 vf_tinterlace: leave harmless permissions alone. 2012-08-17 18:26:42 +02:00
Nicolas George d37f823207 vf_thumbnail: fix permissions. 2012-08-17 18:26:42 +02:00