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
Anton Khirnov
c9cc76290f
avconv: extend -r to work on any input stream.
...
This is done by automatically inserting a setpts filter.
2012-05-29 19:19:17 +02:00
Anton Khirnov
4f81a5072a
doc/avconv: expand documentation for the -s option.
2012-05-29 19:19:16 +02:00
Anton Khirnov
cf6c38c62b
avconv: don't print filters inserted by avconv in stream mappings.
2012-05-29 19:19:16 +02:00
Anton Khirnov
8daf21d567
avconv: merge configuration code for complex and simple filters
...
Some tests change because -s now inserts the scaler to the end instead
of beginning of the filtergraph.
2012-05-29 19:19:16 +02:00
Anton Khirnov
a977d91e28
avconv: split configuring input filters out of configure_complex_filter
2012-05-29 19:19:16 +02:00
Anton Khirnov
0426c69310
AVOptions: fix the value printed in out of range error message.
2012-05-28 12:55:41 +02:00
Anton Khirnov
8271f55bd7
avprobe: restore pseudo-INI old style format for compatibility.
2012-05-26 21:14:35 +02:00
Anton Khirnov
d30acfa94c
avprobe: fix formatting.
2012-05-26 21:14:27 +02:00
Anton Khirnov
780ff97fef
log: make colored output more colorful.
...
Green for verbose, cyan for debug.
2012-05-26 21:14:17 +02:00
Anton Khirnov
0ce4a627c9
lavfi: fix comment, audio is supported now.
2012-05-22 21:37:44 +02:00
Anton Khirnov
ce353a881f
lavfi: fix incorrect comment.
...
poll_frame()/request_frame() are used for audio too.
2012-05-22 21:37:44 +02:00
Anton Khirnov
c04c533f62
lavfi: remove avfilter_null_* from public API on next bump.
...
Those functions are only useful inside filters. It is better to not
support user filters until the API is more stable.
2012-05-22 21:36:23 +02:00
Anton Khirnov
43c7a01e98
lavfi: remove avfilter_default_* from public API on next bump.
...
Those functions are only useful inside filters. It is better to not
support user filters until the API is more stable.
2012-05-22 21:33:26 +02:00
Anton Khirnov
ccefa89f39
avfiltergraph: smarter sample format selection.
2012-05-22 21:29:36 +02:00
Anton Khirnov
0629f6128e
avconv: rename transcode_audio/video to decode_audio/video.
...
Those functions do only decoding now, encoding is run from
poll_filters().
2012-05-22 21:29:06 +02:00
Anton Khirnov
f297dd3812
asyncts: reset delta to 0 when it's not used.
...
Fixes an invalid write.
2012-05-22 21:28:20 +02:00
Anton Khirnov
39885a4bd7
avconv: reindent
2012-05-18 19:41:58 +02:00
Anton Khirnov
74b961db77
avconv: replace -vsync cfr code with the fps filter.
...
Invented timestamps for the h264 tests return to something resembling
sanity.
In the idroq-video-encode test when converting 25 fps -> 30 fps the
fifth frame gets duplicated instead of the sixth.
2012-05-18 19:38:40 +02:00
Anton Khirnov
755cd4197d
mov: enable parsing for VC-1.
...
This makes lavf discard broken timestamps for non-B frames in
samples/isom/vc1-wmapro.ism.
2012-05-18 19:38:21 +02:00
Anton Khirnov
54c5dd89e3
lavfi: Add fps filter.
...
Partially based on a patch by Robert Nagy <ronag89@gmail.com >
2012-05-18 19:33:54 +02:00
Anton Khirnov
7b3b24a8ee
lavfi: initialize pts to AV_NOPTS_VALUE when creating new buffer refs.
2012-05-18 19:29:39 +02:00
Anton Khirnov
0ad26cdf24
avconv: add support for audio in complex filtergraphs.
2012-05-18 19:27:00 +02:00
Anton Khirnov
01e98b1b00
avconv: fix behavior with -ss as an output option.
...
Don't return from poll_filters() immediately, there may be other frames
and/or other streams to handle.
Fixes a memleak.
2012-05-17 19:37:58 +02:00
Anton Khirnov
d894752387
avprobe: don't print format entry name when only one was requested
...
This is easier to parse with automated tools.
2012-05-16 18:35:05 +02:00
Anton Khirnov
d89eca507c
Add missing version bumps and APIchanges/Changelog entries.
2012-05-15 06:57:31 +02:00
Anton Khirnov
4a1ac8c43f
lavfi: move buffer management function to a separate file.
2012-05-15 06:53:22 +02:00
Anton Khirnov
4c64fed37c
lavfi: move formats-related functions from default.c to formats.c
...
It's more convenient to have them all in one file.
2012-05-15 06:52:01 +02:00
Anton Khirnov
c5432d3ca4
lavfi: move video-related functions to a separate file.
...
This is easier to follow than having them randomly scattered in
avfilter.c and defaults.c.
2012-05-15 06:51:23 +02:00
Anton Khirnov
e6694659fc
libmp3lame: set supported channel layouts.
2012-05-14 21:36:11 +02:00
Anton Khirnov
6eeb9a0433
avconv: automatically insert asyncts when -async is used.
...
Deprecate -async.
2012-05-14 21:36:11 +02:00
Anton Khirnov
369cb092ec
avconv: add support for audio filters.
...
The FATE changes are all off-by-one due to different rounding being used
(lrintf vs av_rescale_q).
2012-05-14 21:36:11 +02:00
Anton Khirnov
9f26421b0b
lavfi: add asyncts filter.
2012-05-14 21:36:11 +02:00
Anton Khirnov
fb604ae850
lavfi: add aformat filter
...
Based on a patch by Mina Nagy Zaki <mnzaki@gmail.com >
2012-05-14 21:36:11 +02:00
Anton Khirnov
a2cd9be212
lavfi: add an audio buffer sink.
2012-05-14 21:36:11 +02:00
Anton Khirnov
4c66c40718
lavfi: add an audio buffer source.
2012-05-14 21:36:11 +02:00
Anton Khirnov
720c6b78d1
buffersrc: add av_buffersrc_write_frame().
...
It's the same as av_vsrc_buffer_add_frame(), except it doesn't take pts
or pixel_aspect parameters. Those are read from AVFrame.
Deprecate av_vsrc_buffer_add_frame().
2012-05-14 21:36:11 +02:00
Anton Khirnov
8b05e13df3
buffersrc: fix invalid read in uninit if the fifo hasn't been allocated
2012-05-14 21:36:10 +02:00
Anton Khirnov
fad729fa50
lavfi: rename vsrc_buffer.c to buffersrc.c
...
Most of the code will be shared for both audio and video version.
2012-05-14 21:36:10 +02:00
Anton Khirnov
fd127ede62
avfiltergraph: reindent
2012-05-14 21:36:10 +02:00
Anton Khirnov
ff1f51a8aa
lavfi: add channel layout/sample rate negotiation.
2012-05-14 21:36:10 +02:00
Anton Khirnov
5775a1832c
lavfi: add types and functions for channel layout/samplerate negotiation
2012-05-14 21:36:10 +02:00
Anton Khirnov
012f04a277
lavfi: autoinsert resample filter when necessary.
2012-05-12 18:09:29 +02:00
Anton Khirnov
d371e7b988
lavfi: add lavr-based audio resampling filter.
2012-05-12 18:09:28 +02:00
Anton Khirnov
0b45334a58
lavfi: move audio-related functions to a separate file.
...
This is easier to follow than having them randomly scattered in
avfilter.c and defaults.c.
2012-05-09 20:32:49 +02:00
Anton Khirnov
472fb3bbfa
lavfi: remove some audio-related function from public API.
...
Those functions are only useful inside filters. It is better to not
support user filters until the API is more stable.
This breaks audio filtering API and ABI in theory, but since it's
unusable right now this shouldn't be a problem.
2012-05-09 20:31:56 +02:00
Anton Khirnov
f20ab492ac
lavfi: change AVFilterLink.sample_rate from int64_t to int on next bump
...
There is no real reason for it to be 64bit, it's just a plain int in the
rest of Libav.
2012-05-09 20:31:26 +02:00