Anton Khirnov and Diego Biurrun
82f82ccfc8
motion-test: do not use getopt()
...
It is not available on all systems and using argc/argv directly actually
makes the code simpler.
Signed-off-by: Diego Biurrun <diego@biurrun.de >
2012-07-09 17:20:52 +02:00
Anton Khirnov
8a645bfc31
avconv: propagate fatal errors from lavfi.
2012-07-09 08:32:49 +02:00
Anton Khirnov
cd99146253
lavfi: add error handling to filter_samples().
2012-07-09 08:25:19 +02:00
Anton Khirnov
8d18bc550e
fate-run: make avconv() properly deal with multiple inputs.
2012-07-09 08:22:38 +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
Anton Khirnov
5b7a88f0ba
matroskadec: honor error_recognition when encountering unknown elements.
2012-07-09 07:43:11 +02:00
Anton Khirnov
25b51b2c44
id3v2: add a mimetype for bmp pictures.
2012-07-07 20:34:41 +02:00
Anton Khirnov
b7d3a9a015
flacdec: be less strict when parsing attached pictures.
...
Only return an error if memory allocation fails or error recognition is
set to explode. Otherwise just print an error message and continue
reading the file.
2012-07-07 20:34:20 +02:00
Anton Khirnov
dba5b06ead
flacdec: don't create an attached picture stream until we have all information.
...
This way we don't end with an invalid stream if parsing the picture
fails.
2012-07-07 20:33:44 +02: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
Anton Khirnov
53ddd43f0c
avconv: use only meaningful timestamps in start time check.
2012-07-06 12:59:11 +02:00
Anton Khirnov
b98c8f4f2b
avconv: fix the check for -ss as an output option.
...
start time is already substracted from the frame timestamp, so it needs
to be checked against 0, not start time.
2012-07-06 12:54:52 +02:00
Anton Khirnov
2696789c52
avplay: update input filter pointer when the filtergraph is reset.
...
Fixes an invalid read on size change.
2012-07-05 13:15:36 +02:00
Anton Khirnov
1c840fa227
FATE: add a test for WMA cover art.
2012-07-04 05:59:14 +02:00
Anton Khirnov
8059d3b7d4
FATE: add a test for apetag cover art
2012-07-04 05:59:05 +02:00
Anton Khirnov
bf2a7f9161
FATE: add a test for itunes cover art.
2012-07-04 05:58:47 +02:00
Anton Khirnov
5e745cefc0
asfdec: read attached pictures.
2012-07-02 16:16:45 +02:00
Anton Khirnov
728d2afa17
apetag: reindent
2012-07-02 16:16:38 +02:00
Anton Khirnov
02a951b919
apetag: export attached covers as video streams.
2012-07-02 16:16:11 +02:00
Anton Khirnov
b72767df8e
apetag: fix the amount of data read from binary tags.
...
Substract the filename size from the data size.
2012-07-02 16:15:45 +02:00
Anton Khirnov
f2e175c756
apetag: make sure avio_get_str() doesn't read more than it should.
2012-07-02 16:15:34 +02:00
Anton Khirnov
a02b8c695c
mov: read itunes cover art.
2012-07-02 16:14:25 +02:00
Anton Khirnov
c29c1a1b6b
avconv: add an assert to silence an uninitialized variable warning.
...
The warning silenced was:
avconv.c: In function ‘opt_output_file’:
avconv.c:3380:21: warning: ‘meta_out’ may be used uninitialized in this function [-Wuninitialized]
avconv.c:3315:20: note: ‘meta_out’ was declared here
2012-06-26 19:32:41 +02:00
Anton Khirnov
74853ed3f8
avconv: shut up an uninitialized variable warning.
...
The warning silenced was:
avconv.c: In function ‘configure_filtergraph’:
avconv.c:603:8: warning: ‘ist’ may be used uninitialized in this function [-Wuninitialized]
avconv.c:549:18: note: ‘ist’ was declared here
2012-06-26 19:31:51 +02: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
ce0a975689
mpc8: read APE tags.
2012-06-26 19:05:24 +02:00
Anton Khirnov
b8c632a720
avconv: don't include vsrc_buffer.h, which doesn't exist anymore
2012-06-26 14:33:01 +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
Anton Khirnov
19ad567311
avconv: fix -force_key_frames
...
parse_forced_keyframes() relies in encoder timebase being set, so call
it from transcode_init() after it is known.
2012-06-26 13:10:33 +02:00
Anton Khirnov
980e65f119
ape: create audio stream before reading tags.
...
Tags may contain attached picture, which will be exported as video
streams.
This ensures that the audio stream is always the first.
2012-06-24 07:55:33 +02:00
Anton Khirnov
a7b8ff94b1
mov: make a length variable larger.
...
Right now, it's uint16_t, but for itunes metadata a 32bit number is
stored in it.
2012-06-24 07:54:29 +02:00
Anton Khirnov
fd269d6253
avconv: remove a forgotten debugging printf.
2012-06-24 07:15:32 +02:00
Anton Khirnov
df98bf22cb
avconv: use more descriptive names for hardcoded filters.
...
Also ensure that all such filters get a non-NULL name. Should fix FATE
failures on some architectures after
58b049f2fa .
2012-06-24 07:15:32 +02:00
Anton Khirnov
6fc7d9a078
avconv: remove redundant handling of async.
...
Because of a mistake during merging the code for simple and complex
filtergraphs, -async inserts an asyncts filter both on input and output.
Remove the output hunk.
2012-06-24 07:15:31 +02:00
Anton Khirnov
7a8059eb9c
doc/filters: fix typo.
2012-06-24 07:15:31 +02: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
9ee3334840
libspeexenc: add supported sample rates and channel layouts.
2012-06-22 19:03:24 +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
Anton Khirnov
a50b756280
lavc: remove stats_in from AVCodecContext options table.
...
Its documentation states that it is allocated/freed by the caller, but
it is declared as an AV_OPT_TYPE_STRING AVOption. Since
367732832f the AVOptions system frees
strings automatically. This can be considered an API break, since it
won't work when the caller doesn't use av_malloc() to allocate the
memory or wants to use the string after closing the codec.
Since there is not much value in this field being an AVOption, the best
solution is to remove it from the options table.
2012-06-21 07:36:44 +02:00
Anton Khirnov
ae702edf43
flacdec: read attached pictures.
2012-06-16 17:10:23 +02:00
Anton Khirnov
a5db8e4a1a
lavf: don't segfault when a NULL filename is passed to avformat_open_input()
...
This can easily happen when the caller is using a custom AVIOContext.
Behave as if the filename was an empty string in this case.
CC: libav-stable@libav.org
2012-06-16 17:09:33 +02:00
Anton Khirnov
9034b0ed66
avconv: don't try to free threads that were not initialized.
2012-06-14 10:33:10 +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
ce03b0881a
configure: add all filters hardcoded into avconv to avconv_deps
2012-06-13 13:58:34 +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
Anton Khirnov
47b812e9ce
avconv: support only native pthreads.
...
Our w32pthreads wrapper has various issues and is only supposed to be
used in libavcodec.
2012-06-12 13:44:38 +02:00
Anton Khirnov
5db5169e46
avconv: multithreaded demuxing.
...
When there are multiple input files, run demuxing for each input file in
a separate thread, so reading packets does not block.
This is useful for achieving low latency when reading from multiple
(possibly slow) input streams.
2012-06-10 08:12:23 +02:00
Anton Khirnov
b0f0dfc485
Bump lavu minor and add an APIChanges entry for audioconvert functions.
2012-06-10 08:04:01 +02:00
Anton Khirnov
59d58b3390
audioconvert: add a function for extracting the channel with the given index
2012-06-10 08:03:45 +02:00
Anton Khirnov
5df320e167
audioconvert: add a function for getting the name of a single channel.
2012-06-10 08:03:11 +02:00
Anton Khirnov
406b257de9
audioconvert: add a function for getting channel's index in layout
2012-06-10 08:02:18 +02:00
Anton Khirnov
3596de55fc
audioconvert: use av_popcount64 in av_get_channel_layout_nb_channels
2012-06-10 08:02:11 +02: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
67339f6eb4
avplay: use buffersrc instead of custom input filter.
...
We do not allow user filters, so avtools shouldn't use them either.
It also allows to reuse buffer management code from avconv, thus
reducing duplication.
2012-06-05 09:36:10 +02:00
Anton Khirnov
d55c2e05b5
avtools: move buffer management code from avconv to cmdutils.
...
It will be used by avplay.
2012-06-05 09:35:58 +02:00
Anton Khirnov
3ffa233595
avconv: don't use InputStream in the buffer management code.
...
Use just the pointer to the head of the buffer pool.
This will allow sharing the code with avplay.
2012-06-05 09:35:39 +02:00
Anton Khirnov
e58b75f7ff
avconv: fix exiting when max frames is reached.
...
frame number should never be strictly larger than max frames, so the
if() was never triggered.
2012-06-05 09:35:08 +02:00
Anton Khirnov
2b1f105f1b
doc/avconv: add some details about the transcoding process.
2012-06-04 14:22:16 +02:00
Anton Khirnov
a982e5a031
avidec: make scale and rate unsigned.
...
The specs say they are unsigned 32bit integers.
2012-06-04 14:18:49 +02:00
Anton Khirnov
bb7431f4fc
avconv: check output stream recording time before each frame returned from filters
...
There may be multiple frames returned, so with just one check we can
write more than requested to the output.
2012-06-04 14:18:34 +02:00
Anton Khirnov
a508e7a1ff
avconv: split selecting input file out of transcode().
2012-06-04 14:18:18 +02:00
Anton Khirnov
2f51ec2b94
avconv: split checking for active outputs out of transcode().
2012-06-04 14:17:52 +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
Anton Khirnov
19dfbf1915
librtmp: return AVERROR_UNKNOWN instead of -1.
2012-06-03 15:46:27 +02:00
Anton Khirnov
a91943bcef
librtmp: don't abuse a variable for two unrelated things.
2012-06-03 15:46:16 +02:00
Anton Khirnov
007aedeebf
librtmp: add rtmp_app and rtmp_playpath private options.
...
This makes it easier to switch between native rtmp and librtmp.
2012-06-03 15:45:55 +02:00
Anton Khirnov
cf3a1948e9
avpacket: fix duplicating side data.
...
Use correct side data size instead of just zeroed field.
2012-06-03 10:22:42 +02:00