Martin Storsjö
d3ed1c9571
cmdutils: Pass the actual chosen encoder to filter_codec_opts
...
This allows passing the right options to encoders when there's more
than one encoder for a certain codec id.
Signed-off-by: Martin Storsjö <martin@martin.st>
13 years ago
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
13 years ago
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
13 years ago
Anton Khirnov
b8c632a720
avconv: don't include vsrc_buffer.h, which doesn't exist anymore
13 years ago
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.
13 years ago
Anton Khirnov
fd269d6253
avconv: remove a forgotten debugging printf.
13 years ago
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
.
13 years ago
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.
13 years ago
Mans Rullgard
896bb0d742
Replace usleep() calls with av_usleep()
...
This reduces the dependency on unistd.h which is not available
on all systems.
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Mans Rullgard
6501dcfb5e
Remove unnecessary inclusions of [sys/]time.h
...
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Anton Khirnov
9034b0ed66
avconv: don't try to free threads that were not initialized.
13 years ago
Anton Khirnov
9d0bfc5052
lavfi: make AVFilterPad opaque after two major bumps.
...
It will allow adding new fields to it without ABI breaks.
13 years ago
Anton Khirnov
47b812e9ce
avconv: support only native pthreads.
...
Our w32pthreads wrapper has various issues and is only supposed to be
used in libavcodec.
13 years ago
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.
13 years ago
Anton Khirnov
d55c2e05b5
avtools: move buffer management code from avconv to cmdutils.
...
It will be used by avplay.
13 years ago
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.
13 years ago
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.
13 years ago
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.
13 years ago
Anton Khirnov
a508e7a1ff
avconv: split selecting input file out of transcode().
13 years ago
Anton Khirnov
2f51ec2b94
avconv: split checking for active outputs out of transcode().
13 years ago
Anton Khirnov
c9cc76290f
avconv: extend -r to work on any input stream.
...
This is done by automatically inserting a setpts filter.
13 years ago
Anton Khirnov
cf6c38c62b
avconv: don't print filters inserted by avconv in stream mappings.
13 years ago
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.
13 years ago
Anton Khirnov
a977d91e28
avconv: split configuring input filters out of configure_complex_filter
13 years ago
Martin Storsjö
a1a6cdc26e
avconv: Display the error returned by avformat_write_header
...
Signed-off-by: Martin Storsjö <martin@martin.st>
13 years ago
Anton Khirnov
0629f6128e
avconv: rename transcode_audio/video to decode_audio/video.
...
Those functions do only decoding now, encoding is run from
poll_filters().
13 years ago
Anton Khirnov
39885a4bd7
avconv: reindent
13 years ago
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.
13 years ago
Anton Khirnov
0ad26cdf24
avconv: add support for audio in complex filtergraphs.
13 years ago
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.
13 years ago
Anton Khirnov
6eeb9a0433
avconv: automatically insert asyncts when -async is used.
...
Deprecate -async.
13 years ago
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).
13 years ago
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().
13 years ago
Mans Rullgard
4f1500689d
avconv: use lrint() for rounding double timestamps
...
Converting the double to float for lrintf() loses precision when
the value is not exactly representable as a single-precision float.
Apart from being inaccurate, this causes discrepancies in some
configurations due to differences in rounding.
Note that the changed timestamp in the vc1-ism test is a bogus,
made-up value.
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Anton Khirnov
a5117a2444
lavc: pad last audio frame with silence when needed.
13 years ago
Anton Khirnov
ac71230902
lavfi: add video buffer sink, and use it in avtools
...
Also add the public interface libavfilter/buffersink.h.
Based on a commit by Stefano Sabatini.
13 years ago
Anton Khirnov
dce415e7f1
avconv: remove stray useless comment.
13 years ago
Mans Rullgard
3527a73933
avutil: add av_parse_cpu_flags() function
...
This moves the cpu flag parsing code from avconv to avutil so
it can be accessed elsewhere.
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Justin Ruggles
bcb82fe1f4
avconv: use libavresample
13 years ago
Anton Khirnov
8c4022aceb
avconv: fix a segfault on -c copy with -filter_complex.
13 years ago
Luca Barbato
1381081cdb
avconv: fix off by one check in complex_filter
...
nb_input_files is already an invalid index.
13 years ago
Mans Rullgard
d526c5338d
ARM: allow runtime masking of CPU features
...
This allows masking CPU features with the -cpuflags avconv option
which is useful for testing different optimisations without rebuilding.
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Mans Rullgard
2bcbd98459
Remove lowres video decoding
...
This feature is complex, of questionable utility, and slows down
normal decoding.
Signed-off-by: Mans Rullgard <mans@mansr.com>
13 years ago
Anton Khirnov
2994913d70
avconv: fix a segfault when default encoder for a format doesn't exist.
...
Fail earlier and with a more descriptive error message.
13 years ago
Justin Ruggles
d8b06521a9
avconv: check for an incompatible changing channel layout
...
The decoder can change the layout and channel count during decoding,
but currently we only validate that the two are compatible when opening
the codec. This checks for incompatibilities after each decoded frame.
13 years ago
Justin Ruggles
b1041f8048
avconv: only set the "channels" option when it exists for the specified input format
...
This allows the user to specify an input channel layout without avconv aborting because the
"channels" option was not found.
13 years ago
Anton Khirnov
9e8aae443b
avconv: flush decoders immediately after an EOF.
...
Prevents extensive buffering when overlaying a single picture.
13 years ago
Anton Khirnov
89605e4aa0
avconv: send EOF to vsrc_buffer.
13 years ago
Anton Khirnov
3e901cbc75
avconv: reindent.
13 years ago
Anton Khirnov
3b266da3d3
avconv: add support for complex filtergraphs.
13 years ago