Commit Graph

202 Commits

Author SHA1 Message Date
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