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
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 George and Michael 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 George and Michael 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 George and Diego 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