Justin Ruggles
d0a196962a
g722dec: remove the use of lowres for half-rate decoding.
...
It is broken because an AVCodecContext can be opened/closed multiple
times, and sample_rate is getting divided by 2 each time that happens.
This removes the only use of lowres for audio.
2011-10-25 11:30:50 -04:00
Anton Khirnov
3d813e4c54
lavf: deprecate AVStream.stream_copy
...
It's only used in avconv, so it properly belongs to OutputStream struct
there.
2011-10-25 16:30:00 +02:00
Anton Khirnov
1b648c7cdb
avconc: split choose_codec() to choose_decoder/choose_encoder.
...
Prevents -c copy from working for input streams and allows to move
stream_copy variable from AVStream to OutputStream.
2011-10-25 16:29:01 +02:00
Anton Khirnov
f172132f82
mpegenc: add preload private option.
...
Deprecate AVFormatContext.preload.
2011-10-25 16:27:48 +02:00
Anton Khirnov
84ad31ff18
lavf: replace av_new_stream->avformat_new_stream part II.
...
Manual replacements are done in this commit.
In many cases, the id is some constant made up number (e.g. 0 for video
and 1 for audio), which is then not used in the demuxer for anything.
Those ids are removed.
2011-10-19 17:02:11 +02:00
Alexandra Khirnova
3ec344626c
avconv: add presets
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-10-17 22:24:17 +02:00
Anton Khirnov
7a6cd9957d
cmdutils/avtools: simplify show_help() by using av_opt_child_class_next()
2011-10-12 16:51:17 +02:00
Anton Khirnov
3b3ea34655
Remove all uses of deprecated AVOptions API.
2011-10-12 16:51:16 +02:00
Mans Rullgard
8124d8ad66
avtools: add -v as alias for -loglevel
...
This saves a bit of typing.
Signed-off-by: Mans Rullgard <mans@mansr.com>
2011-10-09 16:53:06 +01:00
Anton Khirnov
f5646a325b
avconv: always print stats with AV_LOG_INFO
...
It's now possible to disable printing stats during encoding with
-nostats, so there's no reason to print them differently depending on
whether it's last report or not.
2011-10-09 17:15:18 +02:00
Anton Khirnov
3460dd8acf
avconv: add -stats option to enable/disable printing encoding progress
2011-10-09 17:15:18 +02:00
Anton Khirnov
c6007065ed
avconv: in output_packet() don't set decoded_data_size for video.
...
It's only used for audio.
2011-10-09 17:15:18 +02:00
Anton Khirnov
515901fad2
avconv: remove pointless always true condition
2011-10-09 17:15:18 +02:00
Anton Khirnov
11fdb7e197
avconv: factorize common code in transcode_init()
2011-10-09 17:15:18 +02:00
Alex Converse
daf9890811
avconv: Reformat s16 volume adjustment.
2011-09-28 12:33:51 -07:00
Alex Converse
4bb0b31f76
avconv: Initialize return value for codec copy path.
2011-09-27 19:32:26 -07:00
Alex Converse
a9a033773a
avconv: Fix volume adjustment for non-s16 sample formats
2011-09-27 14:10:12 -07:00
Alex Converse
fe332cf5b9
avconv: Make samples void*.
...
Different sample formats are different sizes.
2011-09-27 14:10:12 -07:00
Alex Converse
af3c06b4db
avconv: Use the size of the decode sample format when allocating the audio samples buffer.
2011-09-27 14:10:12 -07:00
Anton Khirnov
d3c1d37a90
avconv: use different variables for decoded and filtered frame.
...
Makes the code less obfuscated and fixes encoding one video stream to
several outputs.
Also use avcodec_alloc_frame() instead of allocating AVFrame on stack.
Breaks me_threshold in avconv, as motion vectors aren't passed through
lavfi. They could be copied manually, but I don't think this misfeature
is useful enough to justify ugly hacks.
2011-09-27 19:17:37 +02:00
Anton Khirnov
3ccd15803b
avconv: add support for copying attachments.
2011-09-27 15:26:36 +02:00
Anton Khirnov
becdce99eb
avconv: factorize common code from new_*_stream()
2011-09-27 15:26:35 +02:00
Anton Khirnov
e3245b2631
avconv: replace all fprintf() by av_log().
...
Deprecate -v option, now only -loglevel is enough.
2011-09-26 20:33:50 +02:00
Anton Khirnov
f24facd3ec
avconv: change av_log verbosity from ERROR to FATAL for fatal errors.
2011-09-26 20:33:50 +02:00
Anton Khirnov
182cbe433a
avtools: parse loglevel before all the other options.
...
This way it can be applied to cmdutils too -- e.g. showing the banner
and printing startup messages.
2011-09-26 20:33:50 +02:00
Anton Khirnov
9b921a8272
avconv: use correct output stream index when checking max_frames
2011-09-25 08:28:14 +02:00
Anton Khirnov
240ae356e9
avconv: remove fake coded_frame on streamcopy hack
...
Back in 2002 when it was added, some muxers used information from
coded_frame. It's not true anymore, so this hack is useless and can be
removed.
2011-09-25 08:28:10 +02:00
Anton Khirnov
dc3e76f3f2
avconv: actually set InputFile.rate_emu
2011-09-23 10:04:44 +02:00
Anton Khirnov
4bb3ae1eaa
avconv: use correct index when selecting metadata to write to.
2011-09-11 17:30:05 +02:00
Anton Khirnov
f39ecc79aa
avconv: fix inverted variable
2011-09-11 17:30:05 +02:00
Anton Khirnov
495ecfd139
avconv: move streamid_map to options context.
2011-09-11 17:30:04 +02:00
Anton Khirnov
8e5ce5901b
avconv: extend -vf syntax
...
Add a per-stream -filter option, make -vf an alias for -filter:v. Move
vfilters to the options context.
2011-09-11 17:30:04 +02:00
Anton Khirnov
828e0bcb86
avconv: move top_field_first to options context.
2011-09-11 17:30:04 +02:00
Anton Khirnov
2c2cff16d9
avconv: move inter/intra matrix to options context.
2011-09-11 17:30:04 +02:00
Anton Khirnov
0bc391281a
avconv: remove -psnr option.
...
It's redundant -- -flags +psnr does the same thing.
2011-09-11 17:30:04 +02:00
Anton Khirnov
d242d80e36
avconv: remove me_threshold option.
...
It's only shadowing the AVOption with the same name.
2011-09-11 17:30:04 +02:00
Anton Khirnov
0e68c78385
avconv: move video_rc_override_string to options context.
2011-09-11 17:30:03 +02:00
Anton Khirnov
b2254d8385
avconv: move frame pixel format to the options context.
...
Also remove redundant -pix_fmt list syntax, it's inconsistent and only
makes the code more complicated. -pix_fmts should be enough for
everyone.
2011-09-11 17:30:03 +02:00
Anton Khirnov
ca46fde792
avconv: move frame aspect ratio to the options context.
2011-09-11 17:30:03 +02:00
Anton Khirnov
d4397b0323
avconv: move frame size to the options context.
2011-09-11 17:30:03 +02:00
Anton Khirnov
91ea4811b3
avconv: move frame_rate to the options context.
2011-09-11 17:30:03 +02:00
Anton Khirnov
bef737a78a
avconv: move force_fps to the options context.
2011-09-11 17:30:03 +02:00
Anton Khirnov
7c0296723c
avconv: move forced_key_frames to the options context.
2011-09-11 17:30:03 +02:00
Anton Khirnov
77d9c4542c
avconv: rewrite -qscale and -aq handling.
...
Merge video_qscale (set by -qscale) and audio_qscale (set by -aq) into
one 'qscale' field in the options context. Add a shortcut -q for -qscale
and make -aq an alias for -q:a.
2011-09-11 17:30:03 +02:00
Anton Khirnov
e2469ccf01
avconv: move audio_sample_rate to the options context.
2011-09-11 17:30:03 +02:00
Anton Khirnov
2c474ddbc5
cmdutils: add support for programs in check_stream_specifier()
...
Remove now redundant (and broken/undocumented) opt_programid.
2011-09-11 17:30:01 +02:00
Anton Khirnov
05bffc12c4
avconv: move audio_sample_fmt to options context.
...
Also document it and replace undocumented and inconsistent
'-sample_fmt list' syntax with -sample_fmts.
2011-09-11 17:29:55 +02:00
Anton Khirnov
6a11686dfc
avconv: move audio_channels to the options context.
2011-09-10 15:25:57 +02:00
Anton Khirnov
2130981af3
avconv: move *_disable to options context.
2011-09-10 13:10:02 +02:00
Anton Khirnov
35c5d7d1ef
avconv: remove -[vas]lang options.
...
They are redundant, the same can be now accomplished with -metadata.
2011-09-10 13:09:42 +02:00
Anton Khirnov
013887ebcd
avconv: move codec tags to options context.
...
Add a new -tag option, make -[vas]tag an alias for -tag:[vas]
2011-09-10 13:03:54 +02:00
Anton Khirnov
a2a38d9665
avconv: fix parsing metadata specifiers.
...
After 039267f192
, metadata specifiers are
passed without the leading ':'. Remove a ++ that didn't take this into
account.
2011-09-05 12:11:10 +02:00
Anton Khirnov
dc26318c2d
avconv: move mux_preload and mux_max_delay to options context
2011-09-05 11:18:15 +02:00
Anton Khirnov
d821cbe2ff
avconv: move bitstream filters to options context.
...
Change syntax -- -[vas]bsf are replaced by -bsf:[stream specifier], the
argument is now a comma-separated list of bitstream filters.
2011-09-05 11:17:31 +02:00
Anton Khirnov
f480532822
avconv: move rate_emu to options context.
...
Make it work properly with multiple input files.
2011-09-05 11:17:07 +02:00
Anton Khirnov
96139b5e32
avconv: move max_frames to options context.
...
Add a -frames option that uses generic stream specifiers, change
-[vad]frames into aliases to it.
2011-09-05 11:16:46 +02:00
Anton Khirnov
039267f192
avconv: move metadata to options context.
...
It is now possible to set metadata on streams and chapters.
2011-09-05 11:16:02 +02:00
Anton Khirnov
33f75d72e6
avconv: move ts scale to options context.
2011-09-05 11:15:40 +02:00
Anton Khirnov
c5bb372e85
avconv: move chapter maps to options context.
2011-09-05 11:15:28 +02:00
Anton Khirnov
847529f84a
avconv: move metadata maps to options context.
2011-09-05 11:15:17 +02:00
Anton Khirnov
35e6f8c174
avconv: move codec_names to options context.
2011-09-05 11:13:36 +02:00
Anton Khirnov
7041bb3b1a
avconv: move format to options context
2011-09-04 13:12:00 +02:00
Anton Khirnov
13ccba50d4
avconv: move limit_filesize to options context
2011-09-04 13:12:00 +02:00
Anton Khirnov
6b779cccaa
avconv: move start_time, recording_time and input_ts_offset to options context
2011-09-04 13:12:00 +02:00
Anton Khirnov
575ec4e17d
avconv: add a context for options.
...
Move stream maps to it.
Eventually all non-global options should be stored in it.
2011-09-04 13:12:00 +02:00
Anton Khirnov
7cc8d6385a
cmdutils: add support for caller-provided option context.
...
This is the first step to removing the globals plague from avtools.
2011-09-04 13:12:00 +02:00
Anton Khirnov
cac651c834
cmdutils: move grow_array() from avconv to cmdutils.
2011-09-04 13:12:00 +02:00
Anton Khirnov
dad09ff93f
cmdutils: move exit_program() declaration to cmdutils from avconv
...
Allows cmdutils to call each tool's own cleanup function.
2011-09-04 13:12:00 +02:00
Anton Khirnov
20c21f8b75
cmdutils: get rid of dummy contexts for examining AVOptions.
...
Replace it with newly introduced libavutil API.
2011-09-03 20:58:15 +02:00
Michael Niedermayer
6248694861
avconv: fix some bugs introduced in 630902a1e1
...
These caused scrambled error messages to be printed and
floating point exceptions.
For example when there was no decoder available for a
stream.
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-09-01 11:04:13 +02:00
Anton Khirnov
2e2594ca5b
avconv: remove -threads option.
...
It's only shadowing the AVOption with the same name.
2011-08-30 20:51:32 +02:00
Alex Converse
f593628e58
avconv: Replace raw picture frame swapping hack.
2011-08-30 10:12:22 -07:00
Anton Khirnov
c922816d31
avconv: remove stubs of crop* and pad* options
2011-08-29 06:22:10 +02:00
Anton Khirnov
ed5b13265e
avconv: re-add nb_streams to InputFile.
...
It was mistakenly removed in 2cf8355f98
,
not taking into account that new streams might appear in av_read_frame()
that avconv doesn't know about.
Fixes bug 24.
2011-08-29 06:22:07 +02:00
Diego Biurrun
0249478756
doxygen: fix wrong comment syntax, //< vs. ///<
2011-08-26 18:34:28 +02:00
Alex Converse
b9630bcf82
avconv: Replace goto redo on decode fail with continue.
...
This checks for sigterm but otherwise is identical to the previous
behavior.
2011-08-24 10:13:32 -07:00
Alex Converse
389e0a5a24
avconv: Remove dead store.
2011-08-24 10:13:32 -07:00
Alex Converse
6c7ee2f7db
avconv: use av_clip_int16 for audio clipping
2011-08-23 09:53:23 -07:00
Nicolas George
bc8c50512f
avconv: print the codecs names in the stream mapping.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-08-23 16:50:01 +02:00
Anton Khirnov
c74b44de08
avconv: move the avcodec_find_decoder() call to add_input_streams().
...
This makes the code simpler to understand, though it results in an
unnecessary call to avcodec_find_decoder() if the stream won't be
decoded.
2011-08-23 16:50:01 +02:00
Alex Converse
eaf2d37acc
avconv: Separate initialization from the main transcode loop.
2011-08-19 15:41:05 -07:00
Anton Khirnov
f60a6b5853
avconv: reset input_ts_offset between files.
...
Signed-off-by: Alex Converse <alex.converse@gmail.com>
2011-08-19 15:37:14 -07:00
Anton Khirnov
b62b5cb6fd
avconv: call flush_encoders() from transcode() directly.
...
And remove now pointless parameter.
Signed-off-by: Alex Converse <alex.converse@gmail.com>
2011-08-19 15:36:05 -07:00
Anton Khirnov
c093150849
avconv: fix broken indentation.
...
Signed-off-by: Alex Converse <alex.converse@gmail.com>
2011-08-19 15:35:20 -07:00
Anton Khirnov
f21f294e05
avconv: rescue poor abused limit_filesize global.
...
Keep a per-OutputFile instance of it, thus making -fs work with multiple
output files.
Signed-off-by: Alex Converse <alex.converse@gmail.com>
2011-08-19 15:34:24 -07:00
Alex Converse
e6d2b73784
avconv: Set error code before before jumping to fail.
2011-08-19 11:28:21 -07:00
Alex Converse
bb337b4fbc
avconv: Fix spelling errors.
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-08-18 22:29:41 +02:00
Anton Khirnov
6f1c66d526
avconv: save two levels of indentation in flush_encoders()
...
By replacing
if (foo)
<do stuff>
with
if (!foo)
continue;
<do stuff>
2011-08-18 11:22:12 +02:00
Anton Khirnov
4a4ce2e743
avconv: factor flushing encoders out of output_packet().
2011-08-18 11:22:12 +02:00
Anton Khirnov
630902a1e1
avconv: factor out initializing input streams.
2011-08-18 11:22:12 +02:00
Anton Khirnov
ddf5ef0263
avconv: remove -intra option.
...
It's equivalent to -g 0.
2011-08-18 11:22:05 +02:00
Anton Khirnov
e922bbfa76
avconv: reset streamid_map between output files.
2011-08-18 08:49:32 +02:00
Anton Khirnov
c5ad2c2cc6
avconv: make timer_start a local var in transcode().
2011-08-18 08:49:32 +02:00
Anton Khirnov
6494c001be
avconv: cosmetics, move OutputStream.
...
Allows us to get rid of forward InputStream declaration.
2011-08-18 08:49:32 +02:00
Anton Khirnov
e659c51563
avconv: remove two unused macros.
2011-08-18 08:49:32 +02:00
Anton Khirnov
45f861283e
avconv: reindent.
2011-08-17 20:01:12 +02:00
Anton Khirnov
ea065176b2
avconv: rescue poor abused start_time global.
...
Keep a per-OutputFile instance of it, thus making -ss work with multiple
output files.
2011-08-17 20:00:46 +02:00
Anton Khirnov
ef44a60710
avconv: rescue poor abused recording_time global.
...
Keep a per-OutputFile instance of it, thus making -t work with multiple
output files.
2011-08-17 20:00:06 +02:00
Anton Khirnov
2886aee73f
avconv: merge two loops in output_packet().
2011-08-17 19:58:55 +02:00
Anton Khirnov
f1176d41af
avconv: fix broken indentation.
2011-08-17 19:58:31 +02:00