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
Anton Khirnov
b0c9e8e024
avconv: get rid of the arbitrary MAX_FILES limit.
2011-08-17 19:58:16 +02:00
Anton Khirnov
4288e0316a
avconv: get rid of the output_streams_for_file vs. ost_table schizophrenia
...
Instead store output streams in the same way as input streams.
2011-08-17 19:57:20 +02:00
Anton Khirnov
af70aa4526
avconv: add a wrapper for output AVFormatContexts and merge output_opts into it
2011-08-17 19:55:55 +02:00
Anton Khirnov
09af7fb309
avconv: make itsscale syntax consistent with other options.
...
Move the stream specifier to the option name.
2011-08-17 19:53:05 +02:00
Anton Khirnov
88867844c6
avconv: factor out adding input streams.
2011-08-17 19:52:28 +02:00
Alex Converse
553735f5a8
avconv: Factorize combining auto vsync with format.
2011-08-17 10:16:52 -07:00
Alex Converse
87ef060c3b
avconv: Factorize video resampling.
2011-08-17 10:16:48 -07:00
Alex Converse
9be3c1245f
avconv: Don't unnecessarily convert ipts to a double.
2011-08-17 10:05:57 -07:00
Anton Khirnov
6cd9d0f77d
Revert "avconv: use stream copy by default when possible."
...
This reverts commit 4f4f33844a
.
This commit has some ugly corner cases and needs to be discussed
further.
2011-08-16 20:59:14 +02:00
Anton Khirnov
ad42126abc
avconv: print stream copy information.
2011-08-16 20:24:20 +02:00
Anton Khirnov
4f4f33844a
avconv: use stream copy by default when possible.
2011-08-16 20:24:20 +02:00
Anton Khirnov
5759cce70d
avconv: don't segfault on 0 input files.
2011-08-16 20:24:20 +02:00
Anton Khirnov
2c81d5f4c5
avconv: remove a write-only variable
2011-08-16 06:24:01 +02:00
Anton Khirnov
40fc281087
avconv: remove pointless parameter from new_*_stream().
...
New streams are always added to the last output file.
2011-08-16 06:23:46 +02:00
Anton Khirnov
169f0647b7
avconv: cosmetics, move code
...
Move find_codec_or_die(), choose_codec(), new_output_stream() and
read_avserver_streams() below transcode() where they belong.
2011-08-16 06:23:27 +02:00
Anton Khirnov
86530f418e
avconv: cosmetics -- move copy_chapters().
...
It's only used in opt_output_file(), so move it right above
opt_output_file().
2011-08-16 06:21:32 +02:00
Anton Khirnov
f233cfed7b
avconv: cosmetics -- move parse_forced_key_frames().
...
parse_forced_key_frames() is only used in new_video_stream(), so move it
right above new_video_stream().
2011-08-16 06:21:25 +02:00
Anton Khirnov
64db1a82d6
lavc: add audio flag to the 'b' option, deprecate 'ab'.
...
Its only reason for its existence was ffmpeg's inability to properly assign
AVOptions to streams. Now this is not a problem anymore, so 'ab' should
go.
2011-08-16 06:20:43 +02:00
Anton Khirnov
f4ad238c6c
avconv: rename sameq to same_quant
...
It's often mistakenly used as 'same quality', emphasize that it's not
true in the manual.
2011-08-16 06:19:08 +02:00
Anton Khirnov
92f1940e99
avconv: replace -vcodec/-acodec/-scodec with a better system.
...
The new option doesn't depend on its placement wrt -new* options (which
don't exist anymore) and works in a similar way as per-stream AVOptions.
-[vas]codec remain as aliases to -codec:[vas]
2011-08-16 06:17:02 +02:00
Anton Khirnov
ff884c79ee
avconv: remove presets.
...
Nothing except x264 uses them and native x264 presets should be used
with private options.
2011-08-16 06:10:20 +02:00
Dustin Brody
2bfdb34c8a
mpeg12: remove repeat-field code disabled since May 2002
...
Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-08-15 13:03:20 +02:00
Kostya
5c59fa56ed
Turn on resampling on sudden size change instead of bailing out during recode.
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-08-15 11:53:45 +02:00
Kostya
428c59d911
avtools: reinitialise filter chain when input video stream changes dimensions
...
Signed-off-by: Anton Khirnov <anton@khirnov.net>
2011-08-15 11:53:40 +02:00
Anton Khirnov
8d2e4a7e68
avconv: change semantics of -map
...
New syntax contains an optional stream type, allowing to refer to n-th
stream of specific type.
Omitting stream number now maps all streams of the given type.
2011-08-12 19:10:22 +02:00
Anton Khirnov
3d4f0dab79
avconv: get rid of new* options.
...
They are confusing, irregular and redundant -- -map already contains all
the information. Stream maps can now be parsed in opt_output_file().
Add a more user-friendly default behavior in case no maps are present.
Breaks -programid for now, but it never worked properly anyway. A better
solution will be written soon.
2011-08-12 19:10:22 +02:00
Anton Khirnov
d4863fc1a8
cmdutils: allow precisely specifying a stream for AVOptions.
2011-08-12 18:35:12 +02:00
Anton Khirnov
e6e6060c9b
avconv: make -map_metadata work consistently with the other options
...
Before, it took an input and output file index, now it only takes an
input file and applies to the next output file.
Stream/chapter/program specification is now part of the option name and
the delimiter was changed from ',' to ':' to be consistent with the
similar feature for AVOptions.
2011-08-12 13:50:36 +02:00
Anton Khirnov
c9065c2917
avconv: remove deprecated options.
2011-08-12 13:30:38 +02:00
Anton Khirnov
b9aac90bd8
avconv: make -map_chapters accept only the input file index.
...
This is consistent with how all the other options work.
2011-08-12 13:30:07 +02:00
Anton Khirnov
6291d7e416
Make a copy of ffmpeg under a new name -- avconv.
...
It will be further developed with a few incompatible changes.
ffmpeg.c will stay as is for some time, so any scripts using it won't be
broken.
2011-08-12 13:27:30 +02:00